वहाँ निम्नलिखित कमांड के साथ sudo पर एक गहन कार्य चलाने के बीच कोई अंतर है ?:
- अच्छा sudo [यहाँ गहन आज्ञा]
- सुडोल अच्छा [सघन कमान यहाँ]
BTW यह लिनक्स 3.x के लिए है।
वहाँ निम्नलिखित कमांड के साथ sudo पर एक गहन कार्य चलाने के बीच कोई अंतर है ?:
BTW यह लिनक्स 3.x के लिए है।
जवाबों:
एक अंतर है, एक महत्वपूर्ण है।
यदि आप प्रक्रिया की प्राथमिकता को कम करना चाहते हैं , तो आदेश कोई फर्क नहीं पड़ता। दूसरी ओर, यदि आप इसे बढ़ाना चाहते हैं, तो आपको sudo
पहले रखना होगा nice
।
चूंकि आप कमांड को एक सामान्य उपयोगकर्ता के रूप में चला रहे हैं (अन्यथा आप sudo के साथ बिल्कुल भी परेशान नहीं होंगे), आप केवल अपने कमांड की प्राथमिकता को कम कर सकते हैं। लेकिन अगर आप sudo
पहले इस्तेमाल करते हैं , तो आप चाहें तो इसे बढ़ा सकते हैं।
यदि आप चलाते हैं nice sudo
तो आपके पासवर्ड के लिए संकेत भी दिया जाएगा, लेकिन जब से आप इसे टाइप करने में अधिक समय व्यतीत करेंगे, यह वास्तव में ज्यादा मायने नहीं रखता है।
जैसा कि थोरियमबीआर ने कहा है, यदि आप प्राथमिकता कम कर रहे हैं, तो आदेश अप्रासंगिक है, लेकिन यदि आप प्राथमिकता बढ़ाना चाहते हैं, तो (चूंकि इसे रूट के रूप में किया जाना चाहिए) आपको उपयोग करना होगा sudo nice
।
अन्यथा मैं किसी वास्तविक अंतर की कल्पना नहीं कर सकता।
'कम से कम विशेषाधिकार के सिद्धांत' का उपयोग करते हुए आपको केवल रूट विशेषाधिकारों के साथ एक कार्यक्रम चलाना चाहिए, अगर उन्हें उनकी आवश्यकता है, और फिर उन्हें जल्द से जल्द छोड़ दें, जैसे कि आपको उनकी आवश्यकता नहीं है।
तो हां, एक अंतर है, अगर अच्छा करने के लिए कोई शोषण होता है, तो एक हमलावर अच्छे विशेषाधिकारों के साथ कोड चला सकता है।
इसके अलावा, sudo आपके वातावरण को रीसेट करता है, इसलिए यह थाइव साइड इफेक्ट्स को कम करता है, कोशिश करें
$ echo 'echo $PATH' | sh
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jens/.local/bin:/home/jens/bin:/home/jens/.local/bin
$ echo 'echo $PATH' | sudo sh
[sudo] password for jens:
/sbin:/bin:/usr/sbin:/usr/bin
इसलिए सूडो के माध्यम से चलने वाली 'अच्छी' कमांड वास्तव में एक अलग बाइनरी होने का कारण बन सकती है।
$ which ash
~/.local/bin/ash
$ sudo which ash
[sudo] password for jens:
which: no ash in (/sbin:/bin:/usr/sbin:/usr/bin)
देर से जवाब:
यदि आपकी sudo पहुंच कुछ कार्यक्रमों ( foo
और bar
उदाहरण के लिए) तक सीमित है , तो आपको चलाने का अधिकार नहीं होगा sudo nice foo
, लेकिन चलाने की अनुमति होगी nice sudo foo
।
nice bash -c 'ps -p $$ -o pid,ni,comm'
, औरsudo nice bash -c 'ps -p $$ -o pid,ni,comm'
, औरnice sudo bash -c 'ps -p $$ -o pid,ni,comm'
। तीनों को आपको स्पॉन शेल के प्रोसेस आईडी ($ $) के लिए अच्छा मूल्य दिखाना चाहिए।