इस उदाहरण में एक को दूसरे पर क्यों पसंद किया जाता है?
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
exit
कृपया उबंटू प्रलेखन के लिंक प्रदान करें।
इस उदाहरण में एक को दूसरे पर क्यों पसंद किया जाता है?
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
exit
कृपया उबंटू प्रलेखन के लिंक प्रदान करें।
जवाबों:
sudo suआदेश "स्विच उपयोगकर्ता" के लिए खड़ा है, और आप किसी अन्य उपयोगकर्ता बनने के लिए अनुमति देता है। यह अनुमति देता है कि उपयोगकर्ता एक कमांड को सुपरसॉसर या किसी अन्य उपयोगकर्ता के रूप में निष्पादित कर सकता है, जैसा कि sudoers फ़ाइल में निर्दिष्ट है।
Thei (आरंभिक लॉगिन अनुकरण) विकल्प लक्ष्य उपयोगकर्ता के पासवर्ड डेटाबेस प्रविष्टि द्वारा निर्दिष्ट शेल को एक लॉगिन शेल के रूप में चलाता है। इसका मतलब यह है कि लॉगिन-विशिष्ट संसाधन फ़ाइलों जैसे कि .profile या .login को शेल द्वारा पढ़ा जाएगा। यदि कोई आदेश निर्दिष्ट किया जाता है, तो इसे शेल के .c विकल्प के माध्यम से निष्पादन के लिए शेल में पास किया जाता है। यदि कोई कमांड निर्दिष्ट नहीं है, तो एक इंटरैक्टिव शेल निष्पादित किया जाता है।
स्रोत: मैनपेज
sudo suहैं तो आपसे पासवर्ड मांगा जाता है, रूट पासवर्ड नहीं। रूट उपयोगकर्ता को पासवर्ड की आवश्यकता भी नहीं होती है। भले ही, अगर कोई व्यवस्थापक रूट पासवर्ड का उपयोग कर रहा है, तो इसका मतलब यह नहीं है कि सभी नियमित उपयोगकर्ता इसे जानते हैं।
sudoचलाता है su, और रूट suकिसी भी उपयोगकर्ता को अपना पासवर्ड जाने बिना कर सकते हैं। सिस्टम कैसे काम करता है, इसके बारे में मौलिक गलतफहमी IMO के लायक है।
sudo -iरूट के पासवर्ड के लिए भी नहीं पूछेंगे, इसलिए यह सवाल के लिए प्रासंगिक नहीं है।
sudo suकेवल वर्तमान उपयोगकर्ता को रूट में बदलता है। पर्यावरण सेटिंग्स (जैसे PATH) समान रहती हैं।
sudo -i एक नया वातावरण बनाता है जैसे कि रूट ने अभी लॉग इन किया था।
यदि आप अन्य उपयोगकर्ताओं का उपयोग करते हैं तो अंतर अधिक ध्यान देने योग्य है। आपके बाद sudo su bobबॉब होगा, लेकिन उसी जगह पर। sudo -i -u bobआपके द्वारा बॉब के बाद , बॉब के होम डायरेक्टरी में, बॉब के डिफ़ॉल्ट शेल के साथ और बॉब के साथ .profileऔर किसी भी अन्य लॉगिन स्क्रिप्ट को चलाया जाएगा।
man sudoक्या -iकरता है के अधिक विवरण के लिए देखें । दुर्भाग्य से, man suविवरण पर प्रकाश है।
का एक संस्करण मिला man su(लॉगिन -1 से: 4.1.4.2 + svn3283-3ubuntu5.1) जो कहने के लिए निम्नलिखित है:
$ PATH /etc/login.defs विकल्प ENV_PATH या ENV_SUPATH (नीचे देखें) के अनुसार रीसेट करें;
यदि इसे सेट किया गया था, तो $ IFS "<space> <टैब> <newline>" पर रीसेट हो गया।
ध्यान दें कि पर्यावरण के लिए डिफ़ॉल्ट व्यवहार निम्नलिखित है:
$ HOME, $ SHELL, US USER, $ LOGNAME, $ PATH, और $ IFS पर्यावरण चर रीसेट किए जाते हैं।
यदि --login का उपयोग नहीं किया जाता है, तो पर्यावरण को कॉपी किया जाता है, ऊपर के चर को छोड़कर।
यदि --login का उपयोग किया जाता है, तो $ TERM, $ COLORTERM, $ DISPLAY और $ XAUTHORITY वातावरण चर कॉपी किए जाने पर कॉपी किए जाते हैं।
अन्य वातावरण PAM मॉड्यूल द्वारा सेट किए जा सकते हैं।
तो क्या और किस हद तक sudo suपर्यावरण बदलता है यह आपके वितरण और सेटअप पर निर्भर करता है। इस प्रकार sudo -iसैद्धांतिक रूप से अधिक पोर्टेबल है।
su पर्यावरण सेटिंग में बदलाव करता है , और इसका उपयोग -या लॉगिन का अनुकरण करने के लिए किया जा सकता है -l। बिना भी -l, $PATH है बदल दिया है। उन्हें बनाने से पहले इन दावों का परीक्षण करें! (क्या आपका मतलब है कि PWDवही रहता है?)
sudo su -और sudo -i?
$PATHजब मैं suबिना sudoरूट पासवर्ड का उपयोग करता हूं तो बदल जाता है । के अनुसार info su(जो आपके उत्तर में लिंक करने के लिए एक बेहतर बात हो सकती है), suवास्तव में आपके द्वारा बन रहे उपयोगकर्ता के लिए पासवर्ड प्रविष्टि पढ़ता है। संभवतः $PATHमैं जो परिवर्तन देख रहा हूं वह प्रणाली-निर्भर है (मैं डेबियन 7 पर हूं)।
man su(जो आपके द्वारा लिंक किए गए से अधिक लंबा है) कहता है कि यह उसी का हिस्सा है shadow-utils 4.1.5.1। मेरा manपृष्ठ यह भी कहता है कि $PATHयदि --preserve-environmentउपयोग किया जाता है तब भी सेट किया जाता है। इसलिए मुझे लगता है कि यह वास्तव में के विभिन्न संस्करणों के बीच का अंतर है su।
/etc/pam.d/sudoऔर /etc/pam.d/suपूरी तरह से अलग या बिल्कुल समान चीजों को करने के लिए सेट किया जा सकता है।
मुख्य समस्या एक है (ऐसा नहीं) समझदार वातावरण सेटिंग्स।
sudo suनए शेल का उपयोग करने वाले को कमांड जारी करने वाले उपयोगकर्ता से इसका वातावरण मिलता है - जो समस्याग्रस्त हो सकता है।
sudo -iआप के साथ एक साफ जड़ खोल मिलता है।
सूडो और गोले पर विशेष नोट देखें
यह देखने के लिए रहता है कि रूट शेल बनाने के लिए यह बिल्कुल भी आवश्यक नहीं है।
sudo -iके समान हैं sudo su -, जो वास्तव में कमांड जारी करने वाले उपयोगकर्ता से इसका वातावरण प्राप्त नहीं करता है ।
sudo suबनाम के बारे में है sudo -i।