कुछ मेहमानों को कुछ आदेशों को निष्पादित करने की अनुमति दें


19

मैं अपने कुछ डेबियन / उबंटू मेजबानों पर एक नया उपयोगकर्ता बनाना चाहूंगा जो कमांड का उपयोग करके सर्वर को अपडेट करने में सक्षम हो apt-get updateऔर apt-get dist-upgrade, लेकिन मैं कुछ और करने में सक्षम होने के लिए उन्हें पूर्ण सुडो एक्सेस देने के लिए तैयार नहीं हूं। क्या यह संभव है? शायद एक स्क्रिप्ट बनाने का एक तरीका है जिसे वे संपादित नहीं कर सकते हैं लेकिन निष्पादित कर सकते हैं, जिसे रूट उपयोगकर्ता के रूप में निष्पादित किया जाएगा?


2
देखें man sudoersऔर sudo cat /etc/sudoers
गोल्डीलॉक्स

धन्यवाद @goldilocks मैंने हमेशा सोचा था कि sudoers फ़ाइल सिर्फ लोगों को रूट एक्सेस प्रदान करने की अनुमति देने से पहले थी।
प्रोग्रामर

जवाबों:


30

Sudoऔर /etc/sudoersफ़ाइल उपयोगकर्ताओं को पूर्ण रूट एक्सेस देने के लिए नहीं है।

आप एक मौजूदा sudo उपयोगकर्ता के साथ कमांड के साथ sudoers फ़ाइल को संपादित कर सकते हैं sudo visudo

आप उन आदेशों को समूहित कर सकते हैं जिन्हें आप नीचे की तरह एक्सेस देना चाहते हैं:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get

फिर आप उन आदेशों के लिए एक विशिष्ट उपयोगकर्ता विशेषाधिकार दे सकते हैं जैसे:

[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS

यह नीचे दी गई छवि में देखा जा सकता है यहाँ छवि विवरण दर्ज करें:

अब यदि आप प्रयास करते हैं sudo apt-get updateया sudo apt-get dist-upgradeवे आदेश पासवर्ड मांगे बिना निष्पादित करेंगे । यदि आप पासवर्ड के लिए कहा जाना चाहते हैं, तो उस NOPASSWDबिट को हटा दें जहाँ आप उपयोगकर्ता को कमांड समूहों तक पहुँच प्रदान करते हैं।

यदि आप sudoउपयोगकर्ता के रूप में कुछ और चलाने की कोशिश करते हैं , तो आपको पासवर्ड के लिए संकेत दिया जाएगा और विफल हो जाएगा।

संदर्भ


6
ध्यान दें कि उपयोगकर्ताओं को चलाने की अनुमति apt-get, या यहां तक ​​कि केवल apt-get upgrade, उन्हें पूर्ण रूट एक्सेस देता है ! कई उन्नयन स्क्रिप्ट इंटरैक्टिव उपयोगकर्ता को शेल को निष्पादित करने की अनुमति देती हैं, उदाहरण के लिए जब एक कॉन्फ़िगरेशन फ़ाइल बदल गई है। सुरक्षित रहने के लिए, apt-getकुछ आदेशों तक सीमित रहें, और इसे गैर-संवादात्मक होने के लिए मजबूर करें। देखें कि क्या मेरे ssh उपयोगकर्ता के लिए पासवर्ड रहित sudo दिया जाना सुरक्षित है apt-get updateऔर apt-get upgrade?
गिल्स एसओ- बुराई को रोकना '

मेरे मामले में मुझे %sudo ...
अलेक्सी

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