मैं रूट एक्सेस की अनुमति के बिना एक उपयोगकर्ता को दूसरे पर मुकदमा करने की अनुमति कैसे दे सकता हूं?


53

मैं कुछ उपयोगकर्ताओं को उस खाते के पासवर्ड को जाने बिना किसी अन्य उपयोगकर्ता खाते पर मुकदमा करने की अनुमति देना चाहता हूं, लेकिन किसी अन्य उपयोगकर्ता खाते (यानी रूट) तक पहुंचने की अनुमति नहीं है।
उदाहरण के लिए, मैं टॉम DBA को oracle उपयोगकर्ता पर मुकदमा करने की अनुमति देना चाहूंगा, लेकिन टॉमकैट उपयोगकर्ता या रूट को नहीं।

मुझे लगता है कि यह / etc / sudoers फ़ाइल के साथ किया जा सकता है - क्या यह संभव है? यदि हां, तो कैसे?

जवाबों:


44

हां, यह संभव है।

में / etc / sudoers आइटम तुरंत बराबर निम्नलिखित उपयोगकर्ता है कि आदेश के रूप में निष्पादित करने के लिए अनुमति दी जाएगी है।

tom  ALL=(oracle) /bin/chown tom *

उपयोगकर्ता (टॉम) sudo -u oracle / bin / chown tom / home / oracle / oraclefile टाइप कर सकता है


5
यह टॉम को ओरेकल के रूप में आदेशों को चलाने की अनुमति देगा, लेकिन वास्तव में
ऑर्कल

11
सूदो के बारे में क्या है-ओ ओरामल सु -? इससे उसे एक अलंकृत उपयोगकर्ता के रूप में खोल दिया गया। क्या तुम यही चाहते हो?
ब्रेंट

उस अंतिम टिप्पणी के लिए +1, ब्रेंट। यही मेरा उत्तर होगा।
अन्निका बैकस्ट्रॉम

3
निम्नलिखित में से कुछ काम करेगा: sudo -u oracle -s or sudo -u oracle -i (ins for shell, -i for login - do a login shell)। दुर्भाग्यवश मुझे यह पता नहीं है कि आप उपयोगकर्ता को सीमित करने के लिए / etc / sudoers में क्या उपयोग करेंगे, लेकिन यह देखते हुए कि आप उन्हें शेल एक्सेस की अनुमति दे रहे हैं, आप शायद केवल टॉम ऑल = (oracle) सभी को किसी और के रूप में उल्लेख करना चाहते हैं। यदि वे एक शेल चला सकते हैं, तो आप संभवतः उन आदेशों पर प्रतिबंध लगाने की परवाह नहीं करते जो वे चला सकते हैं।
मार्क

1
आदर्श रूप से, क्या आप नहीं चाहेंगे कि टॉम ओरेकल उपयोगकर्ता के रूप में कमांड को चलाने के बजाय, ऑर्कल उपयोगकर्ता बन जाए। भेद मामूली है, लेकिन यह एक ऑडिट शेल का उपयोग करने के साथ फ्यूज़ किए बिना एक महान ऑडिट लॉग प्रदान करता है।
स्कॉट पैक

40

अपने / etc / sudoers को कुछ इस तरह जोड़ें

tom ALL=(oracle) ALL

तब उपयोगकर्ता टॉम को यू के विकल्प के साथ चीजों को चलाने के लिए sudo का उपयोग करने में सक्षम होना चाहिए, बिना टॉम को बताए

यानी यूजर ऑरेकल के रूप में एक शेल प्राप्त कर रहा है (ठीक है, यह देखते हुए कि आपका sudo -i विकल्प के लिए पर्याप्त नया है)।

sudo -u oracle -i

5
मुझे tom ALL=(oracle)NOPASSWD:ALLपासवर्ड पूछने के लिए
सूद

9

प्रश्न में केवल क्षमताओं को प्रदान करने के लिए, निम्नलिखित को / etc / sudoers में जोड़ें:

tom            ALL=(oracle)    /bin/bash

फिर टॉम कर सकते हैं:

sudo -u oracle bash -i

0

उदाहरण के लिए, मैं टॉम डीबीए को ओरेकल उपयोगकर्ता को अनुमति देना चाहूंगा, लेकिन टॉमकैट उपयोगकर्ता या रूट को नहीं।

मुझे हाल ही में एक प्रणाली के लिए ऐसा करने की आवश्यकता थी और वर्षों पहले उपयोग किए गए वैकल्पिक सेटअप पर मेरे नोट्स खोजने में एक कठिन समय था जो कि वाक्यविन्यास की अनुमति भी देता था su <user>। मेरी स्थिति में मुझे suएक विशिष्ट उपयोगकर्ता के लिए कई उपयोगकर्ताओं को अनुमति देने की आवश्यकता थी ।

एक ऐसा समूह बनाएं, जिसका उपयोग करके addgroup <groupName>अन्य उपयोगकर्ता suबिना पासवर्ड के सक्षम होंगे । फिर उस समूह को प्रत्येक उपयोगकर्ता के साथ जोड़ें, जिसे आप suउस उपयोगकर्ता को पासवर्ड के बिना सक्षम करना चाहते हैं: usermod -a -G <groupName> <userName>(या usermod -a -G oracle tom)। अगले लॉगिन तक समूह परिवर्तन प्रभावित नहीं हो सकते हैं।

नोट: आपके मामले में, आपके पास पहले से ही समूह है क्योंकि oracleजब आपने oracle उपयोगकर्ता के साथ समूह बनाया होगा adduser oracle

अब /etc/pam.d/suनिम्नलिखित को संपादित करें :

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

.. सामान्य नियम रेखाएँ तो अनुभाग इस तरह दिखता है:

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so
auth       [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth       sufficient   pam_succeed_if.so use_uid user ingroup <groupName>

बदलें <groupName>के साथ oracleइस मामले में। यह किसी भी उपयोगकर्ता की अनुमति देगा जो इसका हिस्सा <groupName>हैsu <groupName>

अब tomकर सकते हैं su oracleऔर यदि आप अन्य उपयोगकर्ताओं को एक ही पहुँच प्रदान करने के लिए उन्हें जोड़ने की जरूरत है, तो oracleसमूह।

इसी तरह का सवाल यहाँ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.