लिनक्स में सूडो कमांड के साथ शेल स्क्रिप्ट कैसे चलाएं


sudo एक शक्तिशाली कमांड लाइन उपकरण है, जो एक सुरक्षा नीति के अनुसार, एक दूसरे उपयोगकर्ता (डिफ़ॉल्ट रूप से सुपरयुजर) के रूप में एक कमांड चलाने के लिए " अनुमत उपयोगकर्ता " सक्षम करता है। अधिकांश पर यदि सभी लिनक्स सिस्टम नहीं हैं, तो सुरक्षा नीति /etc/sudoers फ़ाइल द्वारा संचालित है।

इसलिए, शेल स्क्रिप्ट या प्रोग्राम को रूट के रूप में चलाने के लिए, आपको sudo कमांड का उपयोग करना होगा। हालाँकि, sudo केवल safe_path /etc/sudoers में निर्दिष्ट निर्देशिकाओं में मौजूद आदेशों को पहचानता और चलाता है, जब तक कि कोई कमांड मौजूद नहीं है Secure_path , आप नीचे दिए गए जैसे त्रुटि का सामना करेंगे।

यह तब भी होगा जब स्क्रिप्ट PATH पर्यावरण चर में एक निर्देशिका में मौजूद है, क्योंकि जब कोई उपयोगकर्ता sudo , PATH को लागू करता है, तो इसे <के साथ बदल दिया जाता है। secure_path ।

$ echo  $PATH
$ ls  -l
$ sudo proconport.sh 80

उपरोक्त परिदृश्य में, निर्देशिका /home/aaronkilik/bin PATH पर्यावरण चर में है और हम स्क्रिप्ट चलाने की कोशिश कर रहे हैं /home/aaronkilik/bin /proconport.sh (पोर्ट पर सुनने की प्रक्रिया पाता है) रूट विशेषाधिकारों के साथ।

तब हमें त्रुटि का सामना करना पड़ा " sudo: proconport.sh: कमांड नहीं मिला ", जब से /home/aaronkilik/bin sudo safe_bath में नहीं है > जैसा कि अगले स्क्रीनशॉट में दिखाया गया है।

इसे ठीक करने के लिए, हमें sudo safe_path में अपनी स्क्रिप्ट वाली निर्देशिका को जोड़ना होगा visudo कमांड का उपयोग करके /etc/sudoers फ़ाइल का उपयोग करके निम्नलिखित नुसार।

$ sudo visudo

लाल

सुरक्षा कारण के लिए, sudo वेबसाइट से निम्नलिखित लेख देखें। safe_path से संबंधित भेद्यता बताती है: https://www.sudo.ws/sudo/alerts/secure_path.html

अधिमानतः, हम इसे सूडो के साथ चलाते हुए किसी स्क्रिप्ट को पूर्ण पथ प्रदान कर सकते हैं:

$ sudo ./proconport.sh 80

बस! आप sudo कमांड के बारे में लेखों की सूची का अनुसरण कर सकते हैं:

  1. How to Run ‘sudo’ Command Without Entering a Password in Linux
  2. How to Keep ‘sudo’ Password Timeout Session Longer in Linux
  3. How to Fix “Username is not in the sudoers file. This incident will be reported” in Ubuntu
  4. Let Sudo Insult You When You Enter Incorrect Password

यदि आपके पास इस लेख से संबंधित कोई प्रश्न या विचार है, तो नीचे दिए गए टिप्पणी फ़ॉर्म के माध्यम से हमारे साथ साझा करें।