कौन उपयोगकर्ता सूडो के साथ 'रनस' कर सकता है, इसमें परिभाषित किया गया है /etc/sudoers
विन्यास फाइल। यह उपयोगिता अत्यंत विन्यास योग्य है इसलिए मैं थोड़ा सरल कर सकता हूं। सुडोल मैनपेज इसे पूरी तरह से कवर करता है
जब फोन किया, sudo
कॉलिंग उपयोगकर्ता के लिए नियमों की जाँच करता है। आपके उदाहरण में इसका मतलब है कि उपयोगकर्ता के लिए नियम Borea पहले मूल्यांकन किया जाता है, उन नहीं, यदि कोई है, तो उपयोगकर्ता के लिए मारविन ।
कॉल से त्रुटि संदेश निश्चित रूप से उस बिंदु को स्पष्ट करने में मदद नहीं करता है।
एक विशिष्ट 'पूर्ण सुडोकू विशेषाधिकार' में इस तरह दिखती है:
borea ALL = (ALL) ALL
यह है कि प्रत्येक आइटम का मतलब है के संदर्भ में एक ही बयान:
Who: borea
On hosts: ALL
Can run as users: (ALL)
The commands: ALL
आपके प्रश्न के संदर्भ में मुख्य प्रविष्टि तीसरी है। यदि यह सभी के लिए सेट नहीं है यदि यह एक उपयोगकर्ता सूची में सेट है जिसमें मारविन शामिल नहीं है, तो कॉल विफल हो जाएगी।
यहाँ मैन पेज से एक अधिक सम्मिलित उदाहरण दिया गया है:
alan ALL = (root, bin : operator, system) ALL
यह सेटिंग अनुवाद करती है:
उपयोगकर्ता एलन वैकल्पिक रूप से उपयोगकर्ता रूट या बिन के रूप में किसी भी कमांड को चला सकता है
ऑपरेटर या सिस्टम को समूह सेट करना।
तो दो प्रणालियों पर व्यवहार के बीच का अंतर मारविन खाते से बंधा नहीं है, बल्कि आपके खाते में है। कारण पर मेरा सबसे अच्छा अनुमान 'रन के रूप में' सेटिंग है, लेकिन ऐसी अन्य सेटिंग्स हैं जो इसे एक ही कॉन्फ़िगरेशन फ़ाइल में, विश्व स्तर पर और अन्य सूक्ष्म तरीकों (जैसे समूह सदस्यता) में रोक सकती हैं।
देखने के लिए अन्य चीजें:
आपकी प्रतिक्रिया के आधार पर, समस्या sudoers फ़ाइल के साथ नहीं है जैसा कि उपयोगकर्ता के लिए सीधे कॉन्फ़िगर किया गया है Borea । यहाँ एकत्र करने के लिए डेटा बिंदुओं की कपड़े धोने की सूची है और कोशिश करने के लिए चीजें हैं। परिणामों के साथ अपने प्रश्न को अपडेट करें (विशेष रूप से दोनों मशीनों के बीच देखा गया कोई अंतर)।
1. यह आदेश आपके 'sudo' से संबंधित विशेषाधिकारों और सीमाओं को संक्षेप में प्रस्तुत करेगा, जाँच करें कि क्या दो मशीनों के बीच अंतर की सूचना है:
sudo -l -U borea
2. उपयोगकर्ता के लिए एक ही दोहराएं मारविन । निश्चित रूप से इसकी आवश्यकता नहीं है मारविन के लिए sudoers में हो sudo -u
काम करने के लिए, लेकिन यह एक अच्छा डेटा बिंदु है। यह संभव है कि मारविन समूह सदस्यता, आदि द्वारा कुछ सेटिंग्स विरासत में मिलीं।
sudo -l -U marvin
3. दोनों मशीनों पर, की स्थिति की जाँच करें मारविन किसी भी मतभेद के लिए खाता है। finger
डिफ़ॉल्ट रूप से स्थापित नहीं किया जा सकता है; उपयोग sudo apt-get install finger
उस मामले में पहली बार।
sudo finger -l marvin
sudo passwd --status marvin
id marvin
4. का उपयोग करके एक खोल खोलने की कोशिश करें मारविन लेखा। su
विशेषाधिकार बढ़ाने के लिए एक अलग विधि का उपयोग करता है:
sudo su marvin
5. मान लें कि रूट खाता शेल एक्सेस के लिए सक्षम है (मुझे लगता है कि डिफ़ॉल्ट Ubuntu अभी भी अक्षम है), यह कोशिश करें:
sudo -s
sudo -u marvin scriptname
6. पुष्टि पर / आदि / sudoers:
ls -alt /etc/sudoers
परिणाम के साथ शुरू होना चाहिए -r--r----- 1 root root ...
यदि यह नहीं है, तो इसे ठीक करें:
sudo chmod 440 /etc/sudoers
sudo chown root:root /etc/sudoers
7. मशीन से sudoers फ़ाइल को कॉपी करने की कोशिश करें मशीन में चीजें ठीक से काम कर रही हैं जहां वे नहीं हैं। ऐसा करने में बहुत सावधानी बरतें - मूल स्थान को सुरक्षित स्थान पर बैकअप दें। यह ट्रैक करना आसान होगा कि कौन सी फाइल कौन सी है ...
8. अंतिम बात - यह देखने के लिए जांचें कि क्या आपके पास एक या दोनों मशीनों पर फ़ाइल /etc/sudo.conf है। यदि ऐसा है, तो दोनों फ़ाइलों की एक प्रति बनाएँ और उन्हें एक मशीन पर ले जाएँ। रन
diff sudo.conf.machine1 sudo.conf.machine2
कॉन्फ़िगरेशन अंतर देखने के लिए। सभी डेल्टास को खोजने के लिए / etc / sudoers फ़ाइल (diff का उपयोग करके) के साथ भी ऐसा ही करें