एक सामान्य कॉन्फ़िगरेशन में, कमांड अप्रासंगिक है। आपको अपना पासवर्ड पहली बार दर्ज करने की आवश्यकता है जब आप sudo का उपयोग करते हैं, और आपको अगले 15 मिनट के लिए उस विशेष शेल में अपने पासवर्ड की आवश्यकता नहीं है।
कंप्यूटर के नजरिए से, "कमांडो की जरूरत है जो सूडो" जैसी कोई चीज नहीं है। कोई भी उपयोगकर्ता किसी भी कमांड को चलाने का प्रयास कर सकता है। परिणाम कुछ भी नहीं हो सकता है, लेकिन एक त्रुटि संदेश जैसे कि "अनुमति अस्वीकृत" या "ऐसी कोई फ़ाइल या निर्देशिका" नहीं है, लेकिन यह हमेशा कमांड को चलाने के लिए संभव है।
उदाहरण के लिए, यदि आप du
एक निर्देशिका ट्री पर चलते हैं जिसमें ऐसी सामग्री है जिसे आपको एक्सेस करने की अनुमति नहीं है, तो आपको अनुमति त्रुटियां मिलेंगी। यही "अनुमति से इनकार" का मतलब है। यदि आप चलाते हैं sudo du
, तो sudo du
रूट के रूप में चलता है, इसलिए आपको अनुमति त्रुटियाँ नहीं मिलती हैं (यह मूल खाते की बात है: root¹ की हमेशा अनुमति होती है)। जब आप दौड़ते हैं sudo du
, तो du
जड़ के रूप में चलता है, और शुरू sudo
होने के बाद बिल्कुल भी शामिल नहीं होता है du
। क्या सूडो कैसे संचालित होता है, क्या डु मुठभेड़ों की अनुमति की त्रुटियां पूरी तरह से अप्रासंगिक हैं।
ऐसे कमांड हैं जिन्हें कुछ उपयोगी करने के लिए sudo की आवश्यकता होती है । उपयोगिता एक मानवीय अवधारणा है। कमांड को रूट के रूप में चलाने के लिए उपयोगी है, लेकिन जब आपके खाते में रन नहीं होता है, तो आपको sudo (या कमांड को रूट के रूप में चलाने के लिए कुछ अन्य तरीकों) का उपयोग करने की आवश्यकता होती है।
क्या सूडो आपका पासवर्ड मांगता है, यह दो बातों पर निर्भर करता है।
- कॉन्फ़िगरेशन के आधार पर, सूडो तय करता है कि आपको प्रमाणित करने की आवश्यकता है या नहीं। डिफ़ॉल्ट रूप से, sudo को एक पासवर्ड की आवश्यकता होती है। इसे कई तरीकों से बंद किया जा सकता है, जिसमें
authenticate
विकल्प को गलत पर सेट करना और NOPASSWD
टैग के साथ लागू नियम शामिल है ।
- यदि sudo को आपके पासवर्ड की आवश्यकता होती है, तो यह कैश्ड मान का उपयोग करने के लिए सामग्री हो सकती है। यह ठीक है क्योंकि सूडो को आपके पासवर्ड की आवश्यकता होती है, यह प्रमाणित करने के लिए नहीं है कि इसे किसने कॉल किया है (सूडो को पता है कि उपयोगकर्ता ने इसे क्या आमंत्रित किया है), लेकिन यह पुष्टि करने के लिए कि यह अभी भी आज्ञाओं पर है और आपके कीबोर्ड पर नियंत्रण रखने वाला कोई व्यक्ति नहीं है। डिफ़ॉल्ट रूप से, sudo यह मानने को तैयार है कि आप अभी भी कमांड्स पर हैं यदि आपने 15 मिनट से कम समय पहले अपना पासवर्ड दर्ज किया है (इसे
timeout
विकल्प के साथ बदला जा सकता है)। आपको उसी टर्मिनल में पासवर्ड दर्ज करना होगा (ताकि यदि आप एक टर्मिनल पर लॉग इन रहें तो उस टर्मिनल को अप्राप्य छोड़ दें और फिर किसी अन्य टर्मिनल का उपयोग करें, कोई भी कर सकता है 'tty_tickets
¹ लगभग, लेकिन यह इस धागे के दायरे से परे है।