DEV Community

Suraj Vatsya
Suraj Vatsya

Posted on

sudo command in linux

बहुत अच्छा सवाल है!
आइए sudo को आसान भाषा में समझते हैं—


sudo क्या है?

  • sudo का फुल फॉर्म है: Super User DO यानी, "Superuser (root) बनकर ये काम करो।"
  • Linux/Unix सिस्टम में कुछ काम ऐसे होते हैं जो सिर्फ़ superuser (root) या admin ही कर सकता है। जैसे—सिस्टम फाइल्स बदलना, सॉफ्टवेयर इंस्टॉल करना, यूजर बनाना/हटाना आदि।

कब sudo की जरूरत पड़ती है?

  • जब आपको कोई ऐसा काम करना है जो नॉर्मल यूजर नहीं कर सकता, जैसे:

    • /etc/default/grub जैसी फाइल को एडिट करना
    • सॉफ्टवेयर इंस्टॉल/अपडेट करना (sudo apt install ...)
    • सर्वर या नेटवर्क सेटिंग्स बदलना
    • सिस्टम फोल्डर या फाइल को एक्सेस या बदलना

sudo कैसे मदद करता है?

  • Temporary तरीके से आपको superuser (root) की पावर देता है—बस उस एक कमांड के लिए।
  • आपके सिस्टम को सुरक्षित बनाता है—हर बार root लॉगिन की जरूरत नहीं पड़ती।
  • कोई भी गलती से खतरनाक काम न कर बैठे, इसलिए root access लिमिटेड रहता है।
  • आपके actions को log करता है, जिससे पता चलता है कि किसने कौन सा sudo कमांड चलाया।

उदाहरण से समझें:

1. बिना sudo के:

nano /etc/default/grub
Enter fullscreen mode Exit fullscreen mode

Error: Permission denied (इजाज़त नहीं)

2. sudo के साथ:

sudo nano /etc/default/grub
Enter fullscreen mode Exit fullscreen mode

File खुल जाएगी (root access मिल गया, आप edit कर सकते हैं)


निष्कर्ष:

  • sudo = Temporarily admin बनो, जो काम root ही कर सकता है, वो करो।
  • जरूरत तभी पड़ेगी जब normal user से काम ना हो रहा हो।
  • सुरक्षा के लिए root access सिर्फ उसी समय और उस कमांड के लिए मिलता है।

बहुत अच्छा सवाल!
यहाँ "temporarily" से क्या मतलब है और sudo का TTL (Time To Live) कितना है, यह समझते हैं—


Sudo में "Temporarily" का क्या मतलब है?

जब भी आप कोई कमांड sudo के साथ चलाते हैं:

  • सिस्टम आपसे password मांगता है (अगर आपने अभी तक sudo नहीं किया है)
  • उसके बाद कुछ समय तक आपको बार-बार password नहीं डालना पड़ता (जैसे ही आप sudo वाली कोई और कमांड चलाओ, सीधे चल जाती है)

TTL (Time To Live) for Sudo

  • डिफ़ॉल्ट तौर पर 5 मिनट (300 सेकंड) तक sudo की "authentication" याद रहती है।
  • इसका मतलब: आपने एक बार sudo का पासवर्ड डाला, उसके बाद 5 मिनट तक जितनी भी sudo कमांड चलाओगे, वो बिना पासवर्ड मांगे चल जाएंगी।
  • 5 मिनट बाद, फिर से sudo पासवर्ड मांगेगा।

इस टाइम को आप बदल भी सकते हैं (advanced config: /etc/sudoers फाइल में)


Example Flow:

  1. आप टर्मिनल खोलते हैं
  2. sudo nano /etc/default/grub (पासवर्ड मांगा, आपने डाला)
  3. अगले 5 मिनट तक कोई भी sudo कमांड चलाओ — बिना पासवर्ड
  4. 5 मिनट बाद — फिर से पासवर्ड डालना पड़ेगा

TTL बदलना है?

अगर आप चाहें तो sudoers फाइल में टाइम बढ़ा/घटा सकते हैं:

Defaults timestamp_timeout=10
Enter fullscreen mode Exit fullscreen mode

(यह 10 मिनट हो जाएगा)


Summary Table

टाइम क्या होगा?
0 मिनट पासवर्ड मांगेगा
0-5 मिनट पासवर्ड नहीं मांगेगा (auto authenticated)
5+ मिनट फिर से पासवर्ड मांगेगा

Bottom line:

  • Sudo की "temporary" power आमतौर पर 5 मिनट तक ही रहती है
  • उसके बाद आपको फिर से password देना पड़ेगा

Top comments (0)