लिनक्स कमांड लाइन पर टर्मिनल में रूट सत्र प्राप्त करने के कई अलग-अलग तरीके हैं। यह कुछ भ्रम पैदा कर सकता है, क्योंकि अधिकांश शुरुआती उपयोगकर्ता जो रूट प्राप्त करने की तलाश में हैं, वे इस बात से परिचित नहीं होंगे कि प्रत्येक आदेश रूट पहुंच कैसे प्राप्त कर सकता है, वे अलग कैसे हैं और जब ये अंतर महत्वपूर्ण हैं।

इसकी वजह यह है कि हम टर्मिनल में रूट पहुंच प्राप्त करने के लिए उपयोग किए जाने वाले कई अलग-अलग आदेशों को अलग करेंगे। हम स्पष्ट रूप से समझाएंगे कि वे रूट कैसे प्राप्त करते हैं, उनका उपयोग कब करते हैं, और बीच में सब कुछ।

सु

su कमांड वर्तमान उपयोगकर्ता को खोल में सिस्टम द्वारा उपयोग में स्थानांतरित करता है। आप किसी भी उपयोगकर्ता को su लेने और उसके द्वारा उपयोगकर्ता नाम जोड़कर स्विच कर सकते हैं। यह सिस्टम को वर्तमान उपयोगकर्ता को निर्दिष्ट (और अनिवार्य रूप से लॉग आउट) करने के लिए बताएगा। वैकल्पिक रूप से, कमांड कमांड के बाद कुछ भी निर्दिष्ट किए बिना su दर्ज करके रूट एक्सेस प्राप्त कर सकता है।

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

सुडो सु

यह आदेश अनिवार्य रूप से शेल में su चलाने के समान ही है। सिस्टम को "उपयोगकर्ताओं को स्विच करने" के लिए सीधे कहने के बजाय, आप इसे "su" कमांड को रूट के रूप में चलाने के लिए कह रहे हैं। जब sudo su चलाया जाता है, ".profile, " ".bashrc" और "/ etc / profile" शुरू हो जाएगा, जैसे su (या su root ) चलाना। ऐसा इसलिए है क्योंकि यदि कोई आदेश इसके सामने sudo साथ चलाया जाता है, तो यह एक आदेश है जिसे रूट विशेषाधिकार दिया जाता है।

यद्यपि "सु" से बहुत अंतर नहीं है, लेकिन sudo su अभी भी एक महत्वपूर्ण कारण के लिए एक बहुत ही उपयोगी कमांड है: जब कोई उपयोगकर्ता सिस्टम पर रूट पहुंच प्राप्त करने के लिए "su" चला रहा है, तो उसे रूट पासवर्ड पता होना चाहिए। sudo su साथ जिस तरह से रूट दिया जाता है वह वर्तमान उपयोगकर्ता के पासवर्ड का अनुरोध कर रहा है। यह रूट पासवर्ड के बिना जड़ हासिल करना संभव बनाता है जो सुरक्षा को बढ़ाता है।

सुडो-आई

sudo -i का उपयोग वस्तुतः sudo su कमांड जैसा ही है। उपयोगकर्ता रूट उपयोगकर्ता को स्विच करके "सूडो" द्वारा रूट प्राप्त कर सकते हैं। sudo su, द -i फ्लैग की तरह, उपयोगकर्ता को रूट खाता पासवर्ड जानने के बिना रूट वातावरण प्राप्त करने की अनुमति देता है। sudo -i भी sudo su का उपयोग करने के समान ही है जिसमें यह सभी पर्यावरण फ़ाइलों (.profile, आदि) को पढ़ेगा और इसके साथ पर्यावरण को खोल के अंदर सेट करेगा।

जहां यह "सुडो सु" से अलग है, वह है कि sudo -i रूट रूट उपयोगकर्ता और सीधे रूट उपयोगकर्ता के साथ बातचीत किए बिना रूट वातावरण प्राप्त करने का एक बहुत साफ तरीका है। कैसे? sudo su साथ आप एक से अधिक रूट setuid कमांड का उपयोग कर रहे हैं। यह तथ्य यह पता लगाने के लिए और अधिक चुनौतीपूर्ण बनाता है कि पर्यावरणीय चर क्या रखा जाएगा और कौन से लोग बदले जाएंगे (जब रूट वातावरण में घूमते हैं)। यह sudo -i साथ सच नहीं है, और ऐसा इसलिए है क्योंकि अधिकांश लोग इसे सीधे लॉग इन किए बिना रूट प्राप्त करने के लिए पसंदीदा विधि के रूप में देखते हैं।

सुडो-एस

"Sudo" कमांड के लिए स्विच वर्तमान उपयोगकर्ता निष्पादन आदेशों के $ SHELL चर को पढ़ता है। यह आदेश काम करता है जैसे उपयोगकर्ता sudo /bin/bash चला रहा है। Sudo -s एक "गैर-लॉगिन" शैली खोल है। इसका मतलब है कि sudo -i या sudo su जैसे कमांड के विपरीत, सिस्टम किसी भी पर्यावरणीय फाइल को नहीं पढ़ेगा। इसका अर्थ यह है कि जब कोई उपयोगकर्ता sudo -s चलाने के लिए खोल को बताता है, तो यह रूट प्राप्त करता है लेकिन उपयोगकर्ता या उपयोगकर्ता वातावरण को नहीं बदलेगा। आपका घर रूट घर नहीं होगा, इत्यादि।

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

निष्कर्ष: मुझे किस कमांड का उपयोग करना चाहिए?

प्रत्येक कमांड का उपयोग-केस होता है। यहां महत्वपूर्ण बात यह समझना है कि प्रत्येक आदेश क्या करता है और उनका उपयोग कब किया जाता है। जैसा कि यह खड़ा है, sudo -i रूट वातावरण हासिल करने का सबसे व्यावहारिक, साफ तरीका है। दूसरी तरफ, sudo -s का उपयोग करने वाले लोग पाएंगे कि वे जड़ पर्यावरण को छूने की क्षमता के बिना रूट खोल प्राप्त कर सकते हैं, कुछ ऐसा जो सुरक्षा लाभ जोड़ता है।

इस सूची में वास्तव में एक आदेश नहीं है जो 100% सर्वोत्तम है। चूंकि उपयोगकर्ता कमांड लाइन के साथ अधिक सहज महसूस करते हैं, इसलिए उन्हें रूट प्राप्त करने के हर तरीके (और बहुत सारे हैं) खाते में लेना होगा और पेशेवरों और विपक्षों का वजन करना होगा और तदनुसार कार्य करना होगा। मुझे उम्मीद है कि इस लेख की मदद से इन निर्णयों को बनाना आसान होगा।

लिनक्स में रूट पहुंच हासिल करने के लिए आप किस तरह से पसंद करते हैं? नीचे हमें बताओ!

छवि क्रेडिट: blog.david-jensen.com