जब आप एक डबल-हाइफ़न प्रदान करते हैं, तो आपके पास जो अनुभव होगा वह वैसा ही होगा जैसे आपने 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 --loginsudo पासवर्ड के लिए पूछेगा, जो मेरे पास नहीं है (हालांकिsudo -lमेरी जांच करके निष्पादित कर सकता है/bin/suके साथ NOPASSWD)