इन आदेशों के बीच मुख्य अंतर उस तरह से है जैसे वे अपने कार्यों तक पहुंच को प्रतिबंधित करते हैं।
su (जिसका अर्थ है "स्थानापन्न उपयोगकर्ता" या "स्विच उपयोगकर्ता") - ठीक यही करता है, यह लक्ष्य उपयोगकर्ता के विशेषाधिकारों के साथ एक और शेल उदाहरण शुरू करता है। यह सुनिश्चित करने के लिए कि आपके पास ऐसा करने का अधिकार है, यह आपसे लक्ष्य उपयोगकर्ता का पासवर्ड मांगता है । तो, रूट बनने के लिए, आपको रूट पासवर्ड जानना होगा। यदि आपकी मशीन पर कई उपयोगकर्ता हैं जिन्हें कमांड को रूट के रूप में चलाने की आवश्यकता है, तो उन्हें रूट पासवर्ड जानने की आवश्यकता है - ध्यान दें कि यह एक ही पासवर्ड होगा। यदि आपको उपयोगकर्ताओं में से किसी एक से व्यवस्थापक अनुमतियों को रद्द करने की आवश्यकता है, तो आपको रूट पासवर्ड बदलने और इसे केवल उन लोगों को बताने की आवश्यकता है, जिन्हें एक्सेस - गड़बड़ रखने की आवश्यकता है।
sudo (हम्म ... महामारी क्या है? सुपर-यूजर-डीओ?) पूरी तरह से अलग है। यह एक कॉन्फ़िगर फ़ाइल (/ etc / sudoers) का उपयोग करता है, जो यह बताता है कि उपयोगकर्ताओं के पास विशिष्ट कार्यों के अधिकार हैं (रूट, आदि के रूप में कमांड चलाएँ), जब इसे आमंत्रित किया जाता है, तो यह उस उपयोगकर्ता का पासवर्ड मांगता है जिसने इसे शुरू किया है - व्यक्ति को लॉगिन पर सुनिश्चित करने के लिए टर्मिनल वास्तव में वही "जो" है जो सूचीबद्ध है /etc/sudoers। किसी व्यक्ति से व्यवस्थापक विशेषाधिकारों को रद्द करने के लिए, आपको बस कॉन्फ़िग फ़ाइल को संपादित करने की आवश्यकता है (या उस समूह से उपयोगकर्ता को हटा दें जो उस कॉन्फ़िगरेशन में सूचीबद्ध है)। इसके परिणामस्वरूप विशेषाधिकारों का बहुत साफ-सुथरा प्रबंधन होता है।
इसके परिणामस्वरूप, कई डेबियन-आधारित सिस्टम में rootउपयोगकर्ता के पास कोई पासवर्ड सेट नहीं है - यानी सीधे रूट के रूप में लॉगिन करना संभव नहीं है।
इसके अलावा, /etc/sudoersकुछ अतिरिक्त विकल्पों को निर्दिष्ट करने की अनुमति देता है - यानी उपयोगकर्ता एक्स केवल प्रोग्राम वाई आदि को चलाने में सक्षम है।
अक्सर उपयोग किया जाने वाला sudo suसंयोजन निम्नानुसार काम करता है: पहले sudoआपसे आपका पासवर्ड मांगता है , और, यदि आपको ऐसा करने की अनुमति है, तो अगले कमांड ( su) को एक सुपर-उपयोगकर्ता के रूप में आमंत्रित करता है । क्योंकि suद्वारा लागू किया गया है root, इसलिए आपको लक्ष्य उपयोगकर्ता का पासवर्ड दर्ज करने की आवश्यकता नहीं है। इसलिए, sudo suयदि आप /etc/sudoersफ़ाइल द्वारा सुपर-उपयोगकर्ता एक्सेस की अनुमति देते हैं, तो आप किसी अन्य उपयोगकर्ता (रूट सहित) के रूप में एक शेल खोल सकते हैं ।
su userअविश्वासित गोले से प्रवेश करने के लिए उपयोग न करें , लेकिनsu - user। देखें unix.stackexchange.com/q/7013/8250