रूट उपयोगकर्ता कैसे न बनें? क्या प्रशासक जड़ हैं?


42

मैंने अपने पीसी पर उबंटू स्थापित किया। लॉग इन करने के लिए, मैं स्थापना के दौरान मेरे द्वारा बनाए गए उपयोगकर्ता नाम और पासवर्ड का उपयोग करता हूं। क्या इसका मतलब है कि मैं एक रूट उपयोगकर्ता हूं? यदि हाँ, तो मैं गैर-मूल कैसे बनूँ? ऐसा लगता है कि गैर-रूट उपयोगकर्ता व्यवस्थापक उपयोगकर्ता की तुलना में अधिक सुरक्षित है।


9
आप व्यवस्थापक के साथ रूट को भ्रमित कर रहे हैं , दो अलग-अलग चीजें।
फिटोजब


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

@ क्रिसहैपर यह परिभाषा (या यहां तक ​​कि सच) द्वारा नहीं है कि उपयोगकर्ताओं को स्वयं के रूप में कार्यक्रम चलाना चाहिए। उबंटू में, व्यवस्थापक (जो रूट नहीं हैं) प्रोग्राम को रूट के साथ चला सकते हैं sudo। अधिक सामान्यतः, एक व्यवस्थापक (या अन्यथा अधिकृत उपयोगकर्ता) X, command...Y के साथ चल सकता है sudo -u Y command...। विंडोज विस्टा में और बाद में, यूएसी ऑन के साथ, प्रशासनिक शक्तियों वाले उपयोगकर्ता उनके बिना प्रोग्राम चलाते हैं , सिवाय इसके कि जब वे स्पष्ट रूप से अपनी क्षमताओं को प्राप्त करने वाले प्रोग्राम को स्पष्ट रूप से अधिकृत करते हैं। UAC के ऑन (या सीमित उपयोगकर्ताओं के लिए) होने पर व्यवस्थापक के रूप में चलाएँ
एलियाह कगन

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

जवाबों:


79

आप प्रशासक हैं, लेकिन नहीं rootrootउपयोगकर्ता कुछ भी कर सकते हैं। व्यवस्थापक के रूप में कार्यroot कर सकते हैं , लेकिन आमतौर पर प्रशासक क्या करते हैं root। इस तरह, आपके पास अपनी प्रणाली पर पूर्ण नियंत्रण है, लेकिन केवल जब आप इसका उपयोग करना चुनते हैं

उबंटू आपके पासवर्ड के लिए पूछता है जब आप सामान rootबनाने की कोशिश करते हैं , तो यह सुनिश्चित करने के लिए कि यह वास्तव में आप हैं।

उपयोगकर्ता खाते: मानव, और अन्यथा

वास्तविक मानव उपयोगकर्ताओं के पास उनका प्रतिनिधित्व करने के लिए उपयोगकर्ता खाते हैं। जब आपने उबंटू स्थापित किया था तो आपने एक ऐसा खाता बनाया था। लेकिन सभी उपयोगकर्ता खाते वास्तविक मानव उपयोगकर्ताओं का प्रतिनिधित्व नहीं करते हैं

वास्तविक मानव उपयोगकर्ताओं को उनके उपयोगकर्ता खातों के माध्यम से (और अस्वीकृत) क्षमताएं प्रदान की जाती हैं। सिस्टम का उपयोग करने के लिए उन्हें अपने उपयोगकर्ता खातों का उपयोग करना चाहिए; इसलिए, उनके उपयोगकर्ता की योग्यता और सीमाएं उन पर लागू होती हैं।

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

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

सबसे महत्वपूर्ण गैर-मानव उपयोगकर्ता खाता

सुपर उपयोगकर्ता , जिसका उपयोगकर्ता नाम है root:, क्षमताओं और सीमाओं की एक बहुत ही विशेष संयोजन के साथ एक गैर मानव उपयोगकर्ता खाता है सभी क्षमताओं, और कोई सीमा नहीं

root'एस की अनुमति कुछ भी करने को। अभी भी चीजें rootनहीं कर सकते हैं क्योंकि सिस्टम स्वयं प्रदर्शन नहीं कर सकता है या उनमें से समझ नहीं बना सकता है। तो एक ऐसी प्रक्रियाroot को नहीं मार सकते जो निर्बाध नींद में है , या एक चट्टान को हिलाने के लिए बहुत भारी है, तो इसे स्थानांतरित करें

कई महत्वपूर्ण प्रणाली प्रक्रियाएं, जैसे init, प्रशासनिक कार्यों को करने के लिए उपयोग की जाती हैं root, और rootइसका उपयोग किया जाता है।

क्या मैं लॉग इन कर सकता हूं root?

rootखाते को कॉन्फ़िगर करना संभव है, इसलिए पासवर्ड के साथ लॉग इन करना संभव है, लेकिन यह उबंटू में डिफ़ॉल्ट रूप से सक्षम नहीं है। इसके बजाय, आप सोच सकते हैं rootके रूप में की तरह किया जा रहा है www-data, lp, nobody, और अन्य गैर मानव खातों। (भागो cat /etc/passwdया getent passwdउन सभी को देखने के लिए।)

मानव उपयोगकर्ता अपने स्वयं के उपयोगकर्ता खातों के साथ लॉग इन करते हैं, और फिर यदि कुछ कार्य किसी अन्य उपयोगकर्ता खाते के साथ किया जाना है, तो वे उस कार्य को उस पहचान के साथ निष्पादित करने का कारण बनते हैं , वास्तव में उस उपयोगकर्ता के रूप में लॉग इन किए बिना ।

अन्य गैर-मानव उपयोगकर्ताओं को कॉन्फ़िगर करना संभव है, जैसे www-data, इसलिए कोई भी उन्हें लॉग इन कर सकता है। हालांकि यह काफी दुर्लभ है, जबकि कुछ अन्य यूनिक्स जैसे OSes root में टर्मिनल में लॉग इन करना आम है । एक पूरे ग्राफ़िकल इंटरफ़ेस को चलाने के जोखिम root, जैसे कि कितने ग्राफ़िकल प्रोग्राम चलाने के लिए डिज़ाइन नहीं किए गए हैं rootऔर ठीक से काम नहीं कर सकते हैं, का मतलब है कि आपको एक rootप्रसिद्ध डेस्कटॉप सत्र प्राप्त करने का प्रयास कभी नहीं करना चाहिए ।

कृपया ध्यान दें कि समय में के रूप में प्रवेश rootउबंटू में डिफ़ॉल्ट रूप से अक्षम है, वहाँ तरीके एक मिल रहे हैं rootके रूप में प्रमाणीकृत किए बिना खोल root, जो एक समान प्रभाव उत्पन्न: सबसे आम हैं sudo -sया-i , पुनर्प्राप्ति मोड और इसी तरह की तकनीकों । (चिंता न करें यदि आप नहीं जानते कि वे चीजें क्या हैं।) यह वास्तव में लॉग इन नहीं है: पुनर्प्राप्ति मोड में, आप rootकिसी भी लॉगिन होने से पहले बन जाएंगे; साथ sudoआधारित विधियों, तुम सिर्फ रूट के रूप में एक खोल चला रहे हैं।

व्यवस्थापकों

उबंटू में, प्रशासक वे उपयोगकर्ता हैं जो जैसा चाहें वैसा कर सकते हैं root, जब वे ऐसा करना चुनते हैं

सिस्टम सेटिंग्स, एक व्यवस्थापक खाते सहित मानव उपयोगकर्ता खाते दिखा रहा है।
सिस्टम सेटिंग्स> उपयोगकर्ता खाते। "एलिया कागन" एक प्रशासक है, इसलिए वह सामान के रूप में कर सकता है root, लेकिन वह नहीं हैroot

मैं अपने उबंटू सिस्टम पर एक व्यवस्थापक हूं। जब मैं कार्यक्रम चलाता हूं, तो वे ek("एलिया कागन" पूरा नाम है जो ekउपयोगकर्ता नाम से मेल खाता है )।

जब मैं AbiWord या LibreOffice चलाता हूं, तो यह चलता है ek। जब मैं Firefox, Chromium, Empathy, या Pidgin चलाता हूं, तो यह चलता है ek। डेस्कटॉप इंटरफ़ेस प्रदान करने के लिए चलने वाले प्रोग्राम निम्नानुसार चलते हैं ek

हालांकि, मैं एक प्रशासक हूं, इसलिए यदि मुझे प्रशासनिक कार्य करने की आवश्यकता है, तो मैं ऐसा कर सकता हूं।

sudo

कमांड लाइन पर, मैं सामान्य sudoरूप से कमांड चलाने के लिए उपयोग करूंगा root:

sudo command...

यह मुझे मेरे पासवर्ड के लिए संकेत देगा । ( rootपासवर्ड rootनहीं है ; एक नहीं है।)

  • क्योंकि मैं एक प्रशासक हूं, इसलिए मैं कार्रवाई कर सकता हूं root। डिफ़ॉल्ट कॉन्फ़िगरेशन में, मुझे ऐसा करने के लिए अपना पासवर्ड दर्ज करना होगा।
  • जो उपयोगकर्ता प्रशासक नहीं हैं root, वे अपना पासवर्ड डालकर भी कार्रवाई नहीं कर सकते हैं। sudoयदि उपयोगकर्ता उन्हें व्यवस्थापक नहीं चला रहा है, तो कमांड विफल हो जाएगी।

क्योंकि प्रशासकों पूरी तरह से साधारण उपयोगकर्ताओं हैं सिवाय के रूप में कार्रवाई करने के लिए क्षमता के लिए root, एक कमांड की आवश्यकता होती है चल rootविशेषाधिकार अभी भी असफल हो जायेगी, जब आदेश चला है, को छोड़कर के रूप मेंroot

सूदो की आवश्यकता को दर्शाते हुए स्क्रीनशॉट: एक व्यवस्थापक केवल कुछ आदेशों को सफलतापूर्वक चला सकता है ऐसा करने के लिए <code> root </ code>, जो आमतौर पर sudo (और एक स्पेस) को कमांड में करने से होता है।
स्क्रीनशॉट sudoप्रशासनिक कार्यों को करने के लिए उपयोग करने की आवश्यकता को दर्शाता है। ( रान्डेल मुनरो द्वारा "सैंडविच" पर आधारित ।)

सुडोल, रेखीय

चित्रमय कार्यक्रम जैसे / और के लिए चित्रमय दृष्टिकोण केroot माध्यम से चला सकते हैं । उदाहरण के लिए, GParted को चलाने के लिए जैसा कि मैं चला सकता था । फिर मुझे अपने पासवर्ड के लिए ग्राफिक रूप से संकेत दिया जाएगा।sudogksugksudokdesudorootgksudo gparted

gksudo ग्राफ़िकल पासवर्ड प्रॉम्प्ट

चूंकि मुझे रेखांकन दिया गया है, इसलिए टर्मिनल नहीं होना चाहिए। यह उन तरीकों में से एक है जैसे प्रशासनिक उपकरण चलाए जाते हैं root

Polkit

पोलकिट (एक बार पॉलिसीकीट के रूप में जाना जाता है) प्रशासकों के लिए चीजों को करने का एक और तरीका है root। एक प्रोग्राम एक ऐसी सेवा तक पहुँचता है जो क्रिया करती है। कभी-कभी, कार्रवाई एक संपूर्ण कार्यक्रम चला रही है; कभी-कभी कार्रवाई अधिक सीमित होती है।

इन दिनों, कई चित्रमय प्रणाली प्रशासन उपयोगिताओं को डिफ़ॉल्ट रूप से उपयोग करने के बजाय, पोलकिट का उपयोग करने के लिए स्थापित किया जाता है sudo

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

सॉफ़्टवेयर केंद्र में, मैं किसी एप्लिकेशन के बारे में खोज और पढ़ सकता हूं; जब मैं इसे स्थापित करना चाहता हूं तब मुझसे मेरा पासवर्ड मांगा जाता है।

उबंटू सॉफ्टवेयर सेंटर में एक एप्लिकेशन इंस्टॉल करने के लिए पोलकिट के माध्यम से प्रमाणीकरण।

पोलक कैसे अलग है

किसी भी चित्रमय कार्यक्रम को अन्य चित्रमय दृश्यों के rootसाथ चलाया जा सकता है । (यह प्रोग्राम बहुत अच्छी तरह से काम नहीं कर सकता है , यह इस बात पर निर्भर करता है कि इसे इस रूप में इस्तेमाल किया जाना है या नहीं । लेकिन प्रोग्राम को शुरू करने की कमांड को निष्पादित किया जाएगा ।)gksudosudorootroot

जबकि पोलकिट अब sudoGUI की तुलना में अधिक सामान्य है क्योंकि जिस तरह से उबंटू पर आवेदन rootपर्दे के पीछे की क्रियाएं करते हैं, पोल्की केवल एक ग्राफिकल एप्लिकेशन को चलाएगा जैसे root कि एक कॉन्फ़िगरेशन फ़ाइल इसे अनुमति देती है और संकेत देती है कि क्या क्रियाएं हो सकती हैं

पोलकिट, गैर-रेखीय

pkexec क्या कमांड का उपयोग पोलकिट के साथ प्रोग्राम को चलाने के लिए किया जाता है।

जैसे sudo, pkexecगैर-ग्राफिकल कमांड चला सकते हैं। (और इसे कमांड की क्षमताओं को परिभाषित करने वाली कॉन्फ़िगरेशन फ़ाइल की आवश्यकता नहीं है - यह बस के रूप में कमांड चलाता है root।)

pkexec command...

pkexecकिसी पासवर्ड के लिए रेखांकन, भले ही वह टर्मिनल से चलाया जाता हो (यह एक तरीका है कि उसका व्यवहार gksudoसीधे चलने की तुलना में अधिक समान है sudo)।

(यदि कोई GUI नहीं है - उदाहरण के लिए, यदि आप वर्चुअल कंसोल या टेक्स्ट-केवल SSH सत्र से लॉग इन हैं , या GUI ठीक से काम नहीं कर रहा है - तो कमांड लाइन पर अपने पासवर्ड के लिए शालीनतापूर्वक और त्वरित संकेत pkexecदेगा ।)

Pkexec के साथ टर्मिनल में कमांड चलाना।

एक बार प्रमाणीकरण सफलतापूर्वक पूरा हो जाने के बाद, टर्मिनल में कमांड चलती है।

सफलतापूर्वक पोलकिट प्रमाणीकरण के बाद एक कमांड मूल रूप से <code> root </ code> के रूप में चलता है।

अन्य उपयोगकर्ताओं के रूप में इसके अलावा कमांड चलाना root

rootविशेष है क्योंकि यह कुछ भी करने के लिए किया जाता है जो किया जा सकता है। लेकिन यह किसी भी खाते की तरह एक उपयोगकर्ता खाते, और जैसा कि आदेशों चलाने का तरीके rootके साथ sudo(प्रत्यक्ष या एक ग्राफिकल दृश्यपटल के साथ) या polkit किसी अन्य उपयोगकर्ता के रूप में एक कमांड को चलाने के लिए थोड़ा संशोधित किया जा सकता है:

sudo -u username command...
gksudo -u username command...
pkexec --user username command...

क्या? आप sudoपहले टाइप करें ? वह सुरक्षा कैसी है ?!

के साथ कमांड चलाना पापल इन्फ़ालिब्लिटी कोsudo लागू करने जैसा है

जब आपsudo [पोप अचूकता को लागू करते हैं] के साथ एक कमांड चलाते हैं , तो उबंटू [कैथोलिक लोग] यह सुनिश्चित करने के लिए कड़ी मेहनत करते हैं कि आप वास्तव में [पोप हैं]।

हां, मुझे पता है कि पोप की अचूकता (भले ही आदर्शवादी) घोषणात्मक हो; समानांतर सही नहीं है।

के rootसाथ sudo(या पोलकिट) के रूप में कुछ करने की कोशिश करना एक बड़ी बात है - उबंटू केवल उस समय को स्लाइड करने नहीं जा रहा है जब आप एक प्रोग्राम चलाते हैं।

आपको अपने पासवर्ड के लिए संकेत दिया जाता है। (इसके बाद, आपने ऐसा किया है जो थोड़े समय के लिए याद किया जाता है, इसलिए आपको अपना पासवर्ड लगातार दर्ज करने की आवश्यकता नहीं है क्योंकि आप अपना सिस्टम प्रबंधित करते हैं।)

आपको सावधान रहने की याद दिलाने के अलावा , दो परिदृश्यों के खिलाफ यह सुरक्षा उपाय:

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

मैंने सुना है su। वह क्या है? क्या मैं उसका उपयोग कर सकता हूं?

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

उदाहरण के लिए, चलाता है के रूप में उपयोगकर्ता नाम , जैसे ।su username -c 'command...'command...sudo -u username command...

लेकिन जब आप के usernameसाथ एक कमांड चलाते हैं sudo, तो आप अपना पासवर्ड दर्ज करते हैं । जब आप के usernameसाथ एक कमांड चलाते हैं su, तो आप usernameपासवर्ड दर्ज करते हैं

चूंकि लक्ष्य उपयोगकर्ता के लिएsu प्रमाणीकरण करता है , आप केवल उन कमांड को चला सकते हैं, जिनके खाते सक्षम हैंsu

rootखाते (जैसे www-dataऔर nobody) डिफ़ॉल्ट रूप से अक्षम है। कोई पासवर्ड नहीं है जो लॉग इन करने के लिए काम करेगा root। इसलिए आप suकमांड को चलाने के लिए उपयोग नहीं कर सकते हैं root

आप कमांड को किसी अन्य उपयोगकर्ता के रूप में चलाने के लिए उपयोग कर सकते हैं suजो लॉग इन कर सकते हैं (जिसमें आम तौर पर आपके सिस्टम पर सभी उपयोगकर्ता खाते शामिल हैं जो मानव का प्रतिनिधित्व करते हैं)।

जब एक अतिथि के रूप में लॉग इन किया जाता है, तो आप बिल्कुल भी उपयोग नहीं कर सकते su

संयोजन suऔरsudo

कोई व्यक्ति जो व्यवस्थापक नहीं है, वह व्यवस्थापक के रूप में suचलाने के लिए भी उपयोग कर सकता है sudo। (हालांकि यह ठीक है, क्योंकि उन्हें प्रशासक के रूप में कमांड चलाने के लिए व्यवस्थापक के पासवर्ड की आवश्यकता होती है।) अर्थात, एक सीमित उपयोगकर्ता कमांड चलाने के suलिए चलाने के sudoलिए उपयोग कर सकता है root। यह इस तरह दिख सकता है:

su username -c 'sudo command...'

(इस तरह से चित्रमय कार्यक्रमों को चलाने के लिए विशेष देखभाल की आवश्यकता होती है ।)

suकमांड चलाने के लिए एक अधिक सुरक्षित तरीका नहीं होगा root?

शायद ऩही।

क्या होगा यदि उपयोगकर्ता को कार्य करने की अनुमति नहीं दी जानी चाहिए root?

एक व्यवस्थापक के बजाय उन्हें एक सीमित उपयोगकर्ता बनाएं।

क्या होगा अगर एक प्रशासक के रूप में चलने वाला कार्यक्रम करने की कोशिश करता sudoहै root?

जब तक आपने sudoइसे पासवर्ड के बिना सफल नहीं होने दिया, यह विफल हो जाएगा।

एक प्रोग्राम है कि rootएक हाल ही में sudoआदेश पर सूअर का बच्चा के रूप में नहीं चलाया जाना चाहिए , तो कोई पासवर्ड की आवश्यकता है?

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

उदाहरण के लिए, यदि मैं sudo ...एक टर्मिनल टैब में दौड़ता हूं और sudoकिसी अन्य टैब में (या किसी असंबंधित GUI प्रोग्राम से चलाता हूं, या जिसे मैं वर्चुअल कंसोल या SSH सत्र से चलाता हूं) को अभी भी पासवर्ड के लिए संकेत देगा। भले ही यह तुरंत बाद में चलाया जाए।

क्या कोई प्रोग्राम नहीं चल रहा है क्योंकि उपयोगकर्ता एक्स के पास उपयोगकर्ता एक्स के पासवर्ड तक पहुंच है?

नहीं।

यदि कोई दुर्भावनापूर्ण प्रोग्राम एक व्यवस्थापक के रूप में चलाने में सक्षम है, तो क्या यह नहीं सुन सकता "कि क्या टाइप किया जा रहा है जब व्यवस्थापक इस sudoपॉलीकिट के साथ प्रमाणित करता है?"

संभावित रूप से, हाँ। लेकिन तब इसमें टाइप किया गया पासवर्ड "सुन सकता है" su

अगर मैं किसी को अपना पासवर्ड बताता हूं-

लोगों को अपना पासवर्ड न बताएं।

क्या होगा अगर किसी को मेरी ओर से कुछ करने के लिए मेरा पासवर्ड जानना है, लेकिन मैं उन्हें सिस्टम को संचालित करने नहीं देना चाहता हूं?

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

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

तो, क्या सबसे सुरक्षित बात दोनों को खारिज करना sudoऔर suलोगों को rootमैन्युअल रूप से लॉग इन करना होगा?

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

इसके अलावा, जैसे ही संभावित रूप से एक दुर्भावनापूर्ण प्रोग्राम देख सकता है कि कोई व्यक्ति किसी प्रकार के चलने sudoया suनकली sudo/ suपासवर्ड का संकेत देता है, संभवतः एक दुर्भावनापूर्ण प्रोग्राम भी एक नकली लॉगिन स्क्रीन बना सकता है।

उपयोगकर्ता को व्यवस्थापक क्या बनाता है?

समूह की सदस्यता।

Ubuntu 12.04 और बाद में , व्यवस्थापक समूह के सदस्य हैं जिन्हें बुलाया जाता है sudo

उबंटू में 11.10 और इससे पहले , प्रशासक समूह के सदस्य हैं admin

जब 12.04 से पहले या बाद में एक उबंटू प्रणाली को 12.04 या बाद में अपग्रेड किया जाता है, तो adminसमूह को पिछड़ी संगतता के लिए रखा जाता है (और इसमें उपयोगकर्ताओं को प्रशासनिक शक्ति प्रदान करना जारी रखता है), लेकिन sudoसमूह का उपयोग भी किया जाता है।

सीमित उपयोगकर्ता खाते

क्या मैं एक व्यवस्थापक खाते के बजाय एक सीमित उपयोगकर्ता खाते का उपयोग कर सकता हूं?

अगर आपको पसंद है, तो सुनिश्चित करें। सिस्टम सेटिंग्स > उपयोगकर्ता खातों में एक सीमित उपयोगकर्ता खाता बनाएं , और उस उपयोगकर्ता के रूप में लॉग इन करें।

क्या मैं अपने व्यवस्थापक खाते को एक सीमित उपयोगकर्ता खाता बना सकता हूँ?

हां, बस इसे sudoऔर adminसमूहों (ऊपर देखें) से हटा दें ।

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

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


2
@ EliahKagan- एक और गूंगा एक :) मैं एक सादृश्य बनाऊंगा - रूट एक माता-पिता की तरह है और कोई भी उपयोगकर्ता एक बच्चे की तरह है। बड़े बच्चों (प्रवेश) के पास अधिक विशेषाधिकार हैं। एक बच्चा (उपयोगकर्ता) कभी भी पेरेंट (रूट) नहीं हो सकता। 12 साल का बच्चा घर में (OS / Ubuntu) गैर-खतरनाक चीजें कर सकता है जैसे फ्रिज और सामान का उपयोग करना। उसे पैसे को सुरक्षित रूप से छूने की अनुमति नहीं है। लेकिन, 18 साल का (एडमिन) उस पैसे को ऐक्सेस करने के लिए 'सूडो' या पैरंट्स की अनुमति का इस्तेमाल कर सकता है। लेकिन, दोनों को बंदूक को किसी अन्य तिजोरी में छूने की अनुमति नहीं है। केवल रूट (माता-पिता) ही ऐसा कर सकते हैं। समझ में आता है ?
फर्स्टनाम लास्टनाम

1
@FirstNameLastName व्यवस्थापक खाते वास्तविक मानव उपयोगकर्ताओं का प्रतिनिधित्व करते हैं, जो वास्तविक दुनिया में, सभी शक्ति रखते हैं। Admins " PolicyKit root" के साथ कुछ भी कर सकते हैं sudo। एक व्यवस्थापक भी rootखाते को सक्षम कर सकता है और लॉग इन कर सकता है। यदि आप किसी उपयोगकर्ता खाते को यंत्रवत और सचेत क्रियाओं के संयोजन के रूप में सार करते हैं, तो मानव उपयोगकर्ताओं के पास rootविशुद्ध रूप से यांत्रिक रूप से कार्य करने वाले दोनों और गैर-मानव उपयोगकर्ता होते हैं । यदि आप समझते हैं कि यह सब कैसे काम करता है, तो यदि आपका सादृश्य उस महान को पुष्ट करता है! लेकिन मुझे नहीं लगता कि यह वास्तव में रूट-एडमिन संबंध को पकड़ता है।
एलियाह कगन

7
@FirstNameLastName यह मुझे एक बेहतर सादृश्य लगता है: प्रशासक ब्रूस वेन की तरह हैं, और rootबैटमैन की तरह। अंतर पूरी तरह से निर्मित पहचान का विषय है। ब्रूस वेन जब चाहे बैटमैन बन सकता है और लगभग कुछ भी कर सकता है, लेकिन वह हमेशा ब्रूस वेन के मुखौटे के नीचे रहेगा। फिर भी, बैटमैन अधिक है जो वह वास्तव में है - ब्रूस वेन व्यक्तित्व एक संघर्ष है जो उसे बैटमैन होने के परिणामों से बचाता है। रोज़मर्रा की जिंदगी में वेन के रूप में पेश करके, वह अक्सर अपनी गलतियों से खुद को और अपने प्रियजनों को, सिस्टम की खामियों और गोथम सिटी के मैलवेयर से बचा सकता है।
एलियाह कगन

4

एक गूंगा सवाल के रूप में ऐसी कोई बात नहीं;)

मुझे आशा है कि यह चीजों को थोड़ा स्पष्ट करेगा:

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


अगर एडमिन सिर्फ कमांड चलाकर रूट बन सकता है, तो क्या कोई और / हैकर इसे रिमोट से चला सकता है और रूट यूजर बन सकता है?
फर्स्टनाम लास्टनाम 3

@FirstNameLastName उन्हें पहले से ही दूरस्थ रूप से लॉग इन करने की आवश्यकता है क्योंकि अन्य उपयोगकर्ताओं में से एक को चलाने में सक्षम होना चाहिएsudo
इज़्काटा

@FirstNameLastName भी रूट एक्सेस देने से पहले sudo अकाउंटनेम और पासवर्ड मांगता है।
डेस्टिनेटर

@Destrictor - हाँ यह करता है। वास्तव में, यही मुझे भ्रमित करता है। मैं एक व्यवस्थापक खाते के अंदर हूं और रूट में लॉगिन करने के लिए व्यवस्थापक पासवर्ड डाल देता हूं। जब पासवर्ड और उपयोगकर्ता नाम व्यवस्थापक और रूट के लिए समान हैं, तो दो खाते क्यों हैं?
फर्स्टनाम लास्टनाम

@FirstNameLastName लॉग इन करने के लिए sudo का उपयोग करते समय आपको पासवर्ड दर्ज करने की आवश्यकता होती है। यह मुख्य रूप से सुरक्षा कारणों से है (कुछ हुआ और आपका आईटी विभाग यह पता लगा रहा है कि कौन / क्या / कहां है)
डेस्टिनेटर

3

ऑल लिनक्स सिस्टम में, सिस्टम में कोई भी बदलाव करने के लिए हमें रूट उपयोगकर्ता के रूप में प्रमाणित होना चाहिए और साथ ही सभी परिवर्तनों को लागू करने के लिए हमें रूट उपयोगकर्ता होने की आवश्यकता है।

सामान्य उपयोगकर्ता परिवर्तन प्रणाली को व्यापक रूप से लागू नहीं कर सकते। यह विंडोज़ के साथ तुलना में लिनक्स के साथ लाभ है।

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

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

यदि आप रूट यूजर में बदलना चाहते हैं, तो sudo आपकी मदद कर सकता है।

sudo -i 

यदि आप एप्लिकेशन को रूट उपयोगकर्ता के रूप में लॉन्च करना चाहते हैं तो आप sudo कर सकते हैं।

sudo <app_name>

गैर-रूट उपयोगकर्ता के रूप में सिस्टम को चलाने के लिए हमेशा बेहतर होता है।


3

स्थापना के दौरान बनाया गया खाता एक व्यवस्थापक खाता है

उबंटू में, रूट खाते का कोई पासवर्ड नहीं है और परिणामस्वरूप, आप उपयोगकर्ता के रूप में लॉगिन नहीं कर सकतेroot । इसे दरकिनार करने के तरीके हैं, लेकिन यह डिफ़ॉल्ट सेटिंग है।

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

यह पुष्टि करने के लिए कि ये सत्य हैं:

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

  • सिस्टम सेटिंग्स से उपयोगकर्ता खाते खोलें और एक नया उपयोगकर्ता जोड़ने का प्रयास करें। प्रोटेक्शन मैकेनिज्म का इस्तेमाल वहां किया जाता है। प्रशासकों को विशेषाधिकार प्रमाणित करने और बढ़ाने की अनुमति दी जाएगी लेकिन मानक उपयोगकर्ताओं को अवरुद्ध कर दिया जाएगा। इसे आगे बढ़ने के लिए एक 'व्यवस्थापक' पासवर्ड की आवश्यकता होती है।

यहां बताया गया है कि आप यह जांचते हैं कि आपका खाता व्यवस्थापक है या नहीं:

  • सिस्टम सेटिंग्स से उपयोगकर्ता खाते खोलें।
  • बाएं कॉलम में अपना उपयोगकर्ता खाता चुनें।
  • आपको Administratorव्यवस्थापक खातों और Standardसामान्य उपयोगकर्ताओं के लिए दोनों पैन में खाता नाम के तहत देखना चाहिए ।

2

नहीं।

वह उपयोगकर्ता जिसके साथ आप उबंटू में लॉग इन करते हैं, वह व्यवस्थापक उपयोगकर्ता नहीं है (लिनक्स शब्दावली में व्यवस्थापक उपयोगकर्ता को रूट कहा जाता है)


6
यह सबसे अच्छा भ्रामक है। गैर-मूल स्थापना के दौरान बनाए गए उपयोगकर्ता है एक व्यवस्थापक। जड़ नहीं है, लेकिन एक प्रशासक (जिसका अर्थ है, मुख्य रूप से, यह है कि वे के रूप में कार्रवाई कर सकते हैं rootके साथ sudoऔर PolicyKit)।
एलियाह कगन

@ एलियाकगन - ठीक है, फिर व्यवस्थापक और रूट खातों के बीच क्या अंतर है? मैं लिनक्स के लिए नया हूं और कंप्यूटर विज्ञान के लिए भी, इसलिए कृपया मेरे साथ रहें।
फर्स्टनाम लास्टनाम 2

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

@FirstNameLastName एक उपयोगकर्ता है जिसे वास्तव में "रूट" नाम दिया गया है (आमतौर पर; मैंने सुना है कि इसे बदला जा सकता है, लेकिन मुझे नहीं पता कि कैसे)। इसकी हर चीज तक पहुंच है।
इजाकाता २०'१३

2
@Izkata नहीं, उबंटू में प्रशासक का एक विशिष्ट अर्थ है। यह कहना पूरी तरह से गलत है कि स्थापना के दौरान बनाया गया उपयोगकर्ता खाता व्यवस्थापक नहीं है। के रूप में के rootसाथ चलाने के लिए विशिष्ट आदेशों की अनुमति के लिए sudo, यह अप्रासंगिक है। प्रशासक किसी भी कमांड को rootसाथ में चला सकते हैं sudo। डिफ़ॉल्ट रूप से, कोई rootभी अन्य (या किसी अन्य उपयोगकर्ता) के साथ कोई कमांड नहीं चला सकता है sudo। इसके अलावा, sudoजड़ के रूप में कार्रवाई करने के लिए सिर्फ एक तंत्र है - जो लोग सोचते हैं कि sudoवास्तव में अक्सर पॉलिसीकीट होता है, इन दिनों।
एलियाह कगन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.