जब आप एक डबल-हाइफ़न प्रदान करते हैं, तो आपके पास जो अनुभव होगा वह वैसा ही होगा जैसे आपने sudo su
बिना किसी हाइफ़न के निष्पादित किया था ।
एकल हाइफ़न को पास करना -l
या पास करने के समान है --login
। के su
रूप में व्यवहार का वर्णन करने के लिए आदमी पृष्ठ :
उपयोगकर्ता को सीधे में लॉग इन होने की अपेक्षा उपयोगकर्ता जैसा वातावरण प्रदान करेगा।
इसमें आपकी निर्देशिका को आपके घर की निर्देशिका में सेट करना और अन्य पर्यावरण चर का एक समूह सेट करना शामिल है।
एक कमांड में डबल-हाइफ़न पास करना आमतौर पर कमांड-लाइन झंडे के अंत और गैर-फ़्लैग तर्क की शुरुआत को चिह्नित करने के लिए उपयोग किया जाता है। उदाहरण के लिए, यदि आप चलाते हैं touch -R
तो आपको यह कहते हुए एक त्रुटि प्राप्त होगी कि -R इसका विकल्प नहीं है touch
, लेकिन यदि आप touch -- -R
इसे चलाते हैं तो यह नाम की एक फ़ाइल बनाएगा -R
। यह कई कमांड-लाइन टूल्स का सच है ( ls -R
एक पुनरावर्ती करेगा, ls
जबकि फ़ाइल या निर्देशिका नाम पर ls -- -R
प्रदर्शन करेगा ।ls
-R
तो, यह लपेट के लिए, जब आप पारित केवल --
करने के लिए su
यह मूल रूप से अनदेखी कर रहा है --
और इस तरह आप सब पर किसी भी विकल्प में सफल नहीं हुआ अभिनय।
sudo su -
-sudo su -l
अलग। उस खाते पर जहां मैं केवल एक कुंजी के साथ ssh करता हूं, और मेरे पास विशिष्ट अन्य उपयोगकर्ता को बदलने के लिए sudo अधिकार हैं,sudo su -
बिना किसी समस्या के उपयोगकर्ता को बदल देता है लेकिनsudo su -l
याsudo su --login
sudo पासवर्ड के लिए पूछेगा, जो मेरे पास नहीं है (हालांकिsudo -l
मेरी जांच करके निष्पादित कर सकता है/bin/su
के साथ NOPASSWD)