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

3. रूट में अस्थायी रूप से स्विच करने का तरीका
जब उबंटू पर रूट विशेषाधिकारों की आवश्यकता हो, तो पूर्ण रूप से रूट उपयोगकर्ता में स्विच करने के बजाय विशिष्ट कमांडों को ही रूट पहुँच प्रदान करने की सिफ़ारिश की जाती है। यह विधि आकस्मिक संचालन के जोखिम को कम करती है, क्योंकि कार्य पूरा होने के बाद सिस्टम सामान्य विशेषाधिकारों पर लौट जाता है। नीचे, sudo कमांड के चरणबद्ध उपयोग की व्याख्या की गई है।
3.1 sudo कमांड का मूल उपयोग
“sudo” का अर्थ है “substitute user do,” जो उपयोगकर्ताओं को अस्थायी रूप से उनके विशेषाधिकार बदलने की अनुमति देता है। यहां तक कि सामान्य उपयोगकर्ता भी sudo का उपयोग करके विशिष्ट कमांडों को रूट विशेषाधिकारों के साथ निष्पादित कर सकते हैं। कमांड का उपयोग निम्नानुसार किया जाता है:
$ sudo [command]
उदाहरण के लिए, पैकेजों को अपडेट करने के लिए, निम्नलिखित कमांड दर्ज करें:
$ sudo apt update
चूँकि इस कमांड के लिए रूट विशेषाधिकार आवश्यक हैं, sudo का उपयोग करके विशेषाधिकारों को अस्थायी रूप से ऊँचा उठाकर इसे निष्पादित किया जा सकता है।
3.2 sudo का उपयोग करते समय पासवर्ड इनपुट
sudo का उपयोग पहली बार करते समय, आपको अपना वर्तमान उपयोगकर्ता पासवर्ड दर्ज करने के लिए प्रॉम्प्ट किया जाएगा। इससे सुनिश्चित होता है कि sudo किसी के लिए भी स्वतंत्र रूप से सुलभ न हो, जिससे सुरक्षा बढ़ती है। प्रमाणीकरण एक निश्चित अवधि के लिए वैध रहता है, इसलिए हर कमांड के लिए पासवर्ड दोबारा दर्ज करने की आवश्यकता नहीं होती।
3.3 sudo की अस्थायी वैधता अवधि
उबंटू पर sudo विशेषाधिकारों की डिफ़ॉल्ट समय सीमा लगभग 15 मिनट है। यदि लंबे समय तक रूट पहुँच अनावश्यक हो, तो आप sudo -k कमांड चलाकर मैन्युअल रूप से विशेषाधिकारों को रद्द कर सकते हैं, जो प्रमाणीकरण को तुरंत अमान्य कर देता है और अगले sudo उपयोग के लिए पासवर्ड की आवश्यकता होती है।
4. रूट शेल में स्विच करने का तरीका
रूट शेल में स्विच करने से उपयोगकर्ताओं को रूट उपयोगकर्ता के रूप में संचालन जारी रखने की अनुमति मिलती है, जो कई प्रशासनिक कार्यों को करने के लिए उपयोगी है। उबंटू पर, आप sudo -i या sudo su कमांडों का उपयोग करके रूट शेल में स्विच कर सकते हैं। निम्नलिखित अनुभागों में प्रत्येक कमांड के उपयोग और विशेषताओं की व्याख्या की गई है।
4.1 sudo -i का उपयोग करके रूट शेल में स्विच करना
sudo -i कमांड पूर्ण रूप से प्रारंभित वातावरण के साथ रूट शेल में स्विच करता है। इस कमांड का उपयोग करते समय, रूट उपयोगकर्ता का प्रोफ़ाइल लोड किया जाता है, और रूट-विशिष्ट वातावरण चर लागू होते हैं। निम्नलिखित कमांड चलाएँ:
$ sudo -i
इस कमांड को निष्पादित करने के बाद, रूट वातावरण पूर्ण रूप से विरासत में मिलता है, जिससे रूट-कॉन्फ़िगर किए गए वातावरण चरों और पथों का तुरंत उपयोग किया जा सकता है। कार्य पूरा होने के बाद, exit कमांड का उपयोग करके अपने सामान्य उपयोगकर्ता खाते पर लौटें।
4.2 sudo su का उपयोग करके रूट शेल में स्विच करना
sudo su कमांड sudo -i के समान है लेकिन इसका व्यवहार थोड़ा अलग है। जबकि यह रूट शेल में स्विच करता है, यह लॉगिन पर लोड होने वाले पर्यावरण वेरिएबल्स को विरासत में नहीं ले सकता। इसका मतलब है कि वर्तमान उपयोगकर्ता के पर्यावरण वेरिएबल्स रूट विशेषाधिकारों के साथ काम करते समय भी बने रहते हैं।
$ sudo su
sudo su का उपयोग मौजूदा सत्र को बनाए रखते हुए रूट विशेषाधिकार प्रदान करता है। यह तब उपयोगी होता है जब आप एक नई रूट पर्यावरण को विरासत में लिए बिना प्रशासनिक कार्य करना चाहते हैं।
4.3 पर्यावरण वेरिएबल्स को विरासत में लिए बिना स्विच करना (su -)
यदि आपको रूट के रूप में काम करते समय सामान्य उपयोगकर्ता के पर्यावरण वेरिएबल्स से पूरी तरह अलग होना है, तो su - कमांड का उपयोग करने की सलाह दी जाती है। यह कमांड पूरी तरह नई स्थिति में रूट के रूप में लॉगिन करता है, केवल डिफ़ॉल्ट रूट उपयोगकर्ता पर्यावरण को लागू करता है।
$ su -
5. su कमांड का उपयोग करके रूट में स्विच करना
su कमांड का उपयोग करके आप अपने वर्तमान उपयोगकर्ता खाते से रूट उपयोगकर्ता में भी स्विच कर सकते हैं। यह विधि अन्य लिनक्स वितरणों में सामान्यतः उपयोग की जाती है और तब उपयोगी होती है जब रूट पासवर्ड सेट हो। हालांकि, क्योंकि उबंटू डिफ़ॉल्ट रूप से रूट पासवर्ड को अक्षम करता है, आपको इसे मैन्युअल रूप से सक्षम करना पड़ सकता है।
5.1 su कमांड का मूल उपयोग
su कमांड का उपयोग उपयोगकर्ताओं को स्विच करने के लिए किया जाता है। यदि आप किसी अन्य उपयोगकर्ता में स्विच करना चाहते हैं, तो उपयोगकर्ता नाम निर्दिष्ट करें। रूट उपयोगकर्ता में स्विच करने के लिए, निम्न कमांड दर्ज करें:
$ su
यह कमांड आपको रूट पासवर्ड दर्ज करने के लिए प्रेरित करता है। यदि सही पासवर्ड दिया जाता है, तो शेल रूट उपयोगकर्ता में स्विच हो जाता है। अपने कार्य समाप्त करने के बाद, exit कमांड का उपयोग करके अपने पिछले उपयोगकर्ता सत्र में वापस आएँ।
5.2 su और su – के बीच अंतर
su - का उपयोग करने से लक्ष्य उपयोगकर्ता के पूर्ण पर्यावरण सेटिंग्स के साथ एक शेल शुरू होता है, जिससे आप प्रभावी रूप से उस उपयोगकर्ता के रूप में लॉगिन होते हैं। यह तब उपयोगी होता है जब आप अपने वर्तमान उपयोगकर्ता की सेटिंग्स को विरासत में लिए बिना एक साफ़ रूट पर्यावरण चाहते हैं। इसे इस प्रकार उपयोग करें:
$ su -
su और su - के बीच मुख्य अंतर यह है कि su वर्तमान उपयोगकर्ता के पर्यावरण वेरिएबल्स को रखता है, जबकि su - एक नई शेल पर्यावरण लोड करता है जैसे कि आप शुरू से ही रूट के रूप में लॉगिन किए हों।
6. रूट विशेषाधिकारों के उपयोग में सुरक्षा विचार
रूट विशेषाधिकार होने से सिस्टम पर पूर्ण नियंत्रण मिलता है, लेकिन दुरुपयोग या आकस्मिक परिवर्तन गंभीर जोखिम पैदा कर सकते हैं। इसलिए, उबंटू का प्रबंधन करते समय, रूट विशेषाधिकारों के उपयोग में सुरक्षा उपायों को हमेशा प्राथमिकता देनी चाहिए। नीचे कुछ प्रमुख सुरक्षा विचार दिए गए हैं।
6.1 अनावश्यक रूट विशेषाधिकारों से बचें
रूट विशेषाधिकार शक्तिशाली कार्यों की अनुमति देते हैं, इसलिए रूट सत्र में काम को न्यूनतम रखना सबसे अच्छा है। अस्थायी रूट एक्सेस के लिए sudo कमांड का उपयोग अधिक सुरक्षित है और आकस्मिक हटाने या गलत कॉन्फ़िगरेशन के जोखिम को कम करता है। यदि आपको अक्सर रूट एक्सेस की आवश्यकता होती है, तो पूरी तरह रूट में लॉगिन करने के बजाय केवल विशिष्ट कमांड्स को रूट के रूप में चलाने पर विचार करें।
6.2 हमेशा रूट सत्रों से लॉग आउट करें
एक बार जब आप रूट शेल का उपयोग समाप्त कर लेते हैं, तो हमेशा exit कमांड के साथ लॉग आउट करके अपने सामान्य उपयोगकर्ता खाते में वापस आएँ। रूट सत्र में रहना रूट विशेषाधिकारों के साथ अनजाने ऑपरेशनों के जोखिम को बढ़ाता है। छोटे कार्यों के लिए भी, रूट से लॉग आउट करने की आदत सुरक्षा को बढ़ाने में मदद करती है।
6.3 sudoers फ़ाइल को सही ढंग से कॉन्फ़िगर करें
sudoers फ़ाइल यह निर्धारित करती है कि कौन से उपयोगकर्ता sudo कमांड्स चला सकते हैं। आप visudo कमांड के साथ इस फ़ाइल को संपादित करके sudo एक्सेस को विशिष्ट उपयोगकर्ताओं तक सीमित कर सकते हैं। यह आपके सिस्टम के समझौता होने पर अनधिकृत उपयोगकर्ताओं को रूट एक्सेस प्राप्त करने से रोकता है।
6.4 ऑडिट लॉग्स का उपयोग करें
उबंटू रूट विशेषाधिकार उपयोग के लॉग रिकॉर्ड करता है, जिससे प्रशासक देख सकते हैं कि किन उपयोगकर्ताओं ने रूट-स्तर के कमांड्स चलाए। यह विशेष रूप से बहु-उपयोगकर्ता वातावरण में उपयोगी है जहाँ नियमित सुरक्षा ऑडिट सिस्टम परिवर्तन को ट्रैक करने और अनधिकृत कार्यों को रोकने में मदद कर सकते हैं।

7. सामान्य त्रुटियाँ और उनके समाधान
Ubuntu पर root में स्विच करते समय या root privileges के साथ काम करते समय, आपको कुछ सामान्य त्रुटियाँ मिल सकती हैं। इन त्रुटियों को समझना और उन्हें हल करने का तरीका जानना troubleshooting को सुव्यवस्थित करने में मदद कर सकता है।
7.1 “Permission Denied” त्रुटि
यदि आप एक सामान्य उपयोगकर्ता के रूप में root privileges की आवश्यकता वाले कमांड को निष्पादित करने का प्रयास करते हैं, तो आपको Permission denied त्रुटि दिखाई दे सकती है। इसका मतलब है कि आपके पास आवश्यक अनुमतियाँ नहीं हैं। इसे हल करने के लिए, sudo के साथ कमांड को दोबारा चलाएँ:
$ sudo [command]
यदि आपको root के रूप में कई कमांड चलाने की आवश्यकता है, तो इसके बजाय root shell में स्विच करने पर विचार करें।
7.2 “User Is Not in the sudoers File” त्रुटि
यदि कोई उपयोगकर्ता sudoers फ़ाइल में पंजीकृत नहीं है, तो उन्हें user is not in the sudoers file त्रुटि दिखाई देगी, जो sudo उपयोग को रोक देगी। इसे ठीक करने के लिए, एक प्रशासक के रूप में लॉग इन करें और visudo का उपयोग करके sudoers फ़ाइल को संपादित करें। sudo पहुँच प्रदान करने के लिए निम्नलिखित पंक्ति जोड़ें:
username ALL=(ALL) NOPASSWD: ALL
7.3 sudo टाइमआउट मुद्दे
यदि sudo कमांड निष्पादित करते समय पासवर्ड के लिए प्रॉम्प्ट नहीं देता, तो यह सेशन टाइमआउट के कारण हो सकता है। एक बार प्रमाणीकरण अवधि समाप्त हो जाने पर, आपको पासवर्ड दोबारा दर्ज करना होगा। बस sudo कमांड को दोबारा चलाएँ और अपना पासवर्ड दर्ज करें।
7.4 Root पासवर्ड अक्षम है
Ubuntu में डिफ़ॉल्ट रूप से root खाता अक्षम होता है। यदि आप su कमांड का उपयोग करके root में स्विच करने का प्रयास करते हैं, तो आपको “Authentication failure” त्रुटि मिल सकती है। root खाते को सक्षम करने के लिए, निम्नलिखित कमांड से पासवर्ड सेट करें:
$ sudo passwd root
पासवर्ड सेट करने के बाद, root खाता सक्रिय हो जाएगा और उपयोग योग्य होगा।
8. निष्कर्ष
इस लेख में Ubuntu पर root में स्विच करने की विभिन्न विधियों को कवर किया गया है। चूंकि root privileges पूर्ण सिस्टम पहुँच प्रदान करते हैं, इसलिए उनका सही उपयोग सिस्टम की सुरक्षा और स्थिरता बनाए रखने के लिए महत्वपूर्ण है। नीचे मुख्य बिंदुओं का सारांश दिया गया है:
- Root Privileges का महत्व: गहन सिस्टम प्रशासन के लिए root पहुँच आवश्यक है।
- अस्थायी Privileges के लिए sudo का उपयोग: sudo [command]के साथ कमांड चलाना सुरक्षा जोखिमों को कम करता है।
- Root Shell में स्विच करना: sudo -iऔरsudo suजैसे कमांड root shell सेशन की अनुमति देते हैं।
- su और su – को समझना: suबनामsu -का उपयोग कब करना है, यह जानना महत्वपूर्ण है।
- सुरक्षा विचार: root उपयोग को न्यूनतम रखें और हमेशा root सेशनों से लॉग आउट करें।
- सामान्य त्रुटियाँ और समाधान: sudo और root पहुँच मुद्दों को कुशलतापूर्वक troubleshoot करें।

 
 

