एंड्रॉयड

लिनक्स में सूडो कमांड

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

विषयसूची:

Anonim

Sudo कमांड आपको रूट यूजर को डिफ़ॉल्ट रूप से किसी अन्य उपयोगकर्ता के रूप में प्रोग्राम चलाने की अनुमति देता है। यदि आप कमांड लाइन पर बहुत समय बिताते हैं, तो sudo कमांड में से एक है जिसे आप काफी बार उपयोग करेंगे।

रूट के रूप में लॉगिन के बजाय सुडो का उपयोग करना अधिक सुरक्षित है क्योंकि आप रूट उपयोगकर्ताओं को जानने के बिना उनके बिना ही अलग-अलग उपयोगकर्ताओं को सीमित प्रशासनिक विशेषाधिकार दे सकते हैं।

इस ट्यूटोरियल में, हम sudo कमांड का उपयोग करने के तरीके के बारे में बताएंगे।

सुडो को स्थापित करना (sudo कमांड नहीं मिला)

सूडो पैकेज अधिकांश लिनक्स वितरण पर पहले से स्थापित है।

यह जांचने के लिए कि आपके सिस्टम पर sudo पैकेज स्थापित है या नहीं, अपना कंसोल खोलें, sudo टाइप Enter , और Enter दबाएँ। यदि आपने sudo स्थापित किया है तो सिस्टम एक लघु मदद संदेश प्रदर्शित करेगा, अन्यथा आप कुछ ऐसी चीजें देखेंगे जैसे sudo command not found

यदि sudo स्थापित नहीं है, तो आप इसे अपने distro के पैकेज मैनेजर का उपयोग करके आसानी से स्थापित कर सकते हैं।

Ubuntu और डेबियन पर सूडो स्थापित करें

apt install sudo

सेंटो और फेडोरा पर सूडो स्थापित करें

yum install sudo

उपयोगकर्ता को Sudoers में जोड़ना

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

RedHat आधारित वितरण जैसे CentOS और फेडोरा पर, sudo समूह का नाम wheel । उपयोगकर्ता को समूह चलाने के लिए जोड़ने के लिए:

usermod -aG wheel username

डेबियन, उबंटू और उनके डेरिवेटिव पर, सुडू पहुंच के साथ समूह sudo सदस्यों को दिया जाता है:

usermod -aG sudo username

उबंटू में रूट उपयोगकर्ता खाता सुरक्षा कारणों से डिफ़ॉल्ट रूप से अक्षम है और उपयोगकर्ताओं को sudo का उपयोग करके सिस्टम प्रशासनिक कार्य करने के लिए प्रोत्साहित किया जाता है। उबंटू इंस्टॉलर द्वारा बनाया गया प्रारंभिक उपयोगकर्ता पहले से ही सुडो समूह का सदस्य है, इसलिए यदि आप उबंटू संभावनाएं चला रहे हैं, तो आप जिस उपयोगकर्ता के रूप में लॉग इन हैं, वह पहले से ही सूडो विशेषाधिकार के साथ दी गई है।

उदाहरण के लिए उपयोगकर्ता को केवल mkdir कमांड को sudo के रूप में चलाने की अनुमति देने के लिए टाइप करें:

sudo visudo

और निम्नलिखित लाइन संलग्न करें:

linuxize ALL=/bin/mkdir

अधिकांश सिस्टम पर, visudo कमांड कमांड vim text एडिटर के साथ /etc/sudoers फाइल को खोलता है। यदि आपके पास vim के साथ अनुभव नहीं है, तो किसी फ़ाइल को सहेजने और vim संपादक को छोड़ने के बारे में हमारे लेख की जाँच करें।

आप उपयोगकर्ताओं को पासवर्ड दर्ज किए बिना भी sudo कमांड चलाने की अनुमति दे सकते हैं:

linuxize ALL=(ALL) NOPASSWD: ALL

कैसे सूडो का उपयोग करें

sudo कमांड का सिंटैक्स इस प्रकार है:

sudo OPTION.. COMMAND

sudo कमांड के पास कई विकल्प हैं जो इसके व्यवहार को नियंत्रित करते हैं लेकिन आमतौर पर sudo का उपयोग इसके सबसे बुनियादी रूप में किया जाता है, बिना किसी विकल्प के।

Sudo का उपयोग करने के लिए, बस sudo साथ कमांड को उपसर्ग करें:

sudo command

जहाँ command वह कमांड है जिसके लिए आप sudo का उपयोग करना चाहते हैं।

सूडो /etc/sudoers फ़ाइल पढ़ेंगे और /etc/sudoers कि क्या आह्वान करने वाला उपयोगकर्ता sudo आकलन के साथ दी गई है। पहली बार जब आप एक सत्र में sudo का उपयोग करते हैं, तो आपको उपयोगकर्ता पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा और कमांड को रूट के रूप में निष्पादित किया जाएगा।

उदाहरण के लिए, आपके द्वारा उपयोग की /root वाली /root निर्देशिका की सभी फाइलों को सूचीबद्ध करने के लिए:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

पासवर्ड टाइमआउट

डिफ़ॉल्ट रूप से, sudo आपको निष्क्रियता के पांच मिनट के बाद फिर से अपना पासवर्ड दर्ज करने के लिए कहेगा। आप sudoers फ़ाइल को संपादित करके डिफ़ॉल्ट टाइमआउट बदल सकते हैं। visudo साथ फाइल खोलें:

sudo visudo

नीचे दी गई लाइन को जोड़कर डिफ़ॉल्ट टाइमआउट सेट करें, जहां 10 मिनटों में निर्दिष्ट टाइमआउट है:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

रूट के अलावा अन्य उपयोगकर्ता के रूप में एक कमांड चलाएं

एक गलत धारणा है कि एक नियमित उपयोगकर्ता को रूट अनुमति प्रदान करने के लिए केवल sudo का उपयोग किया जाता है। वास्तव में, आप कमांडो को किसी भी उपयोगकर्ता के रूप में चलाने के लिए sudo का उपयोग कर सकते हैं।

-u विकल्प आपको एक निर्दिष्ट उपयोगकर्ता के रूप में एक कमांड चलाने की अनुमति देता है।

निम्नलिखित उदाहरण में हम whoami कमांड चलाने के लिए whoami का उपयोग एक उपयोगकर्ता "रिचार्ड" के रूप में कर रहे हैं:

sudo -u richard whoami

whoami कमांड कमांड चलाने वाले उपयोगकर्ता का नाम प्रिंट करेगा:

richard

कैसे सूडो के साथ पुनर्निर्देशित करें

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

ऐसा इसलिए होता है क्योंकि आउटपुट का रीडायरेक्शन " > " आपके द्वारा लॉग इन किए गए उपयोगकर्ता के तहत किया जाता है, न कि उपयोगकर्ता द्वारा निर्दिष्ट किए गए sudo द्वारा। रीडायरेक्शन तब होता है जब sudo कमांड को लागू किया जाता है।

एक समाधान sudo sh -c का उपयोग करके रूट के रूप में एक नया शेल आह्वान करना है:

sudo sh -c 'echo "test" > /root/file.txt'

एक अन्य विकल्प यह है कि आउटपुट को एक नियमित उपयोगकर्ता के रूप में tee कमांड को नीचे दिखाया जाए।

echo "test" | sudo tee /root/file.txt

निष्कर्ष

आपने सीखा है कि sudo कमांड का उपयोग कैसे करें और sudo विशेषाधिकार के साथ नए उपयोगकर्ता कैसे बनाएं।

टर्मिनल सुडो