इस उदाहरण में एक को दूसरे पर क्यों पसंद किया जाता है?
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
।