उबंटू जीयूआई उपयोगकर्ताओं को विंडोज में व्यवस्थापक की तरह सिस्टम स्टार्ट के समय रूट के रूप में लॉगिन करने की अनुमति क्यों नहीं देता है?
वे हमें केवल टर्मिनल के माध्यम से लॉग इन करने के लिए प्रतिबंधित क्यों कर रहे हैं?
उबंटू जीयूआई उपयोगकर्ताओं को विंडोज में व्यवस्थापक की तरह सिस्टम स्टार्ट के समय रूट के रूप में लॉगिन करने की अनुमति क्यों नहीं देता है?
वे हमें केवल टर्मिनल के माध्यम से लॉग इन करने के लिए प्रतिबंधित क्यों कर रहे हैं?
जवाबों:
क्योंकि यह जब तक आप जानते हैं कि ऐसा करने के लिए अनुशंसित नहीं है कि वास्तव में आप क्या कर रहे हैं। रूट एक सुपरयूज़र है, जिसका अर्थ है कि यह कुछ भी और सब कुछ कर सकता है - यह केवल प्रशासनिक कार्यों के लिए है। दिन-प्रतिदिन के कार्य एक सुरक्षा जोखिम को सहन कर सकते हैं जिसका उपयोग किया जाएगा यदि हर कोई (या उपयोगकर्ताओं का एक बड़ा अनुपात) रूट का उपयोग करता है। विंडोज सोचो - 99% मैलवेयर और वायरस की समस्याएं रोजमर्रा के कार्यों के लिए व्यवस्थापक खातों का उपयोग करने वाले लोगों से होती हैं।
आइए एक उदाहरण देखें।
क्या होगा अगर कोई आपके सिस्टम में टूट जाता है और इसे आपकी डिस्क को मिटाने के लिए कहता है? आप एक सामान्य उपयोगकर्ता के रूप में चल रहे हैं, तो केवल फ़ाइलें हैं उन्हें चाहते हैं को दूर करने में सक्षम हो (चाहिए) उन हैं कि संबंधित आप के लिए है, न कि किसी और को। यदि कहें, तो आपके पास कंप्यूटर का उपयोग करने वाले अन्य लोग थे, उनकी फ़ाइलों को बिल्कुल भी नहीं छुआ जाएगा, चाहे आप कितनी भी कोशिश कर लें। इसका मतलब है कि आप किसी भी सिस्टम फाइल को बदलने में सक्षम नहीं होंगे , और इसलिए आपका सिस्टम रॉक-सॉलिड और अनफिट / अनइनफैक्स्ड रहेगा।
यदि आप रूट के रूप में चलते हैं, हालांकि, आप हार्ड ड्राइव को पूरी तरह से मिटा सकते हैं, संभवतः हार्डवेयर को कुछ नुकसान पहुंचा सकते हैं, और आमतौर पर सिस्टम को अनुपयोगी बना सकते हैं। सुधार: जो कोई भी आपके कंप्यूटर पर रूट के रूप में एक एकल कमांड चलाने के लिए मिल सकता है (कुछ दुर्भावनापूर्ण वेबसाइट या ईमेल अनुलग्नक) वह कर सकता है।
Http://everyjoe.com/technology/explain-why-not-log-on-as-root/ पर एक नज़र डालें , यह एक अच्छा लेख है जो शायद मैंने इसे बेहतर समझा।
संपादित करें: यहाँ एक और एक है http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html
EDIT2: आप हमेशा ग्राफ़िकल और कमांड-लाइन उपयोगिताओं के साथ उन दोनों कामों को सुपरसुसर के रूप में उपयोग sudo command
या gksu command
चला सकते हैं command
। sudo
आमतौर पर सीएलआई के लिए उपयोग किया जाता है, हालांकि, और gksu
ग्राफिकल पासवर्ड प्रोम है जो समान कार्य करता है।
एक हद तक, वे आपको root
अस्थायी रूप से बनने देते हैं - बहुत, जड़ के रूप में लगातार चलने और अस्थिरता को कम करने से बहुत बेहतर।
मानक उबंटू में, root
लॉगिन की अनुमति नहीं है, न तो जीडीएम (ग्राफिकल) लॉगिन प्रबंधक से, न ही टेक्स्ट कंसोल (यानी, जिसे आप प्राप्त करते हैं, तो प्रेस Ctrl+ Alt+ F1) से।
आदेश root
(यानी, व्यवस्थापक) संचालन करने के लिए आपको sudo
एक टर्मिनल में कमांड का उपयोग करना होगा , या इसके बराबर कोई जीयूआई: ये आपसे आपका पासवर्ड मांगेंगे और फिर अनुरोधित विशेषाधिकार ऑपरेशन (और केवल उस एक) का प्रदर्शन करेंगे।
इस व्यवहार का कारण है, जैसा कि अन्य ने बताया है, कि प्रदर्शन root
करना स्वाभाविक रूप से जोखिम भरा है और वास्तव में root
विशेषाधिकारों की आवश्यकता वाले ऑपरेशनों की संख्या तुलनात्मक रूप से बहुत कम है: इस sudo
दृष्टिकोण का उपयोग करके आप ज्यादातर समय एक अप्रकाशित खाते (यानी, हानिरहित) के साथ चल रहे हैं। सिस्टम और अन्य उपयोगकर्ताओं के लिए) और बस root
शक्तियों को प्राप्त करें जब यह वास्तव में आवश्यक हो।
एक उदाहरण स्पष्ट करने में मदद कर सकता है। मान लें कि आप अपनी मशीन पर एक नई सेवा (डेमन) स्थापित करना चाहते हैं; यह अपेक्षाकृत नया है और आपको इसके बारे में पढ़ने और इसे अपनी आवश्यकताओं को कॉन्फ़िगर करने की आवश्यकता है। आप जानकारी ब्राउज़ करने के लिए वेब को बहुत अधिक ब्राउज़ करेंगे, उदाहरण के विन्यास आदि, शायद अधिक जानकारी मांगने के लिए कुछ आईआरसी चैट हों - इसमें से किसी को भी root
शक्तियों की आवश्यकता नहीं है! अंत में, आपको केवल दो कार्यों के लिए विशेषाधिकार प्राप्त उपयोग की आवश्यकता है:
sudo apt-get install ...
), औरकंप्यूटर सुरक्षा में एक सामान्य रूप से स्वीकृत सिद्धांत हमेशा एक ऑपरेशन करने के लिए कम से कम संभव विशेषाधिकार स्तर का उपयोग करता है। - यह जोखिम को कम करता है कि सॉफ्टवेयर में बग या ऑपरेटर से त्रुटियों के कारण कुछ बुरा होता है।
उबंटू डिफ़ॉल्ट सेटअप इस दिशा में जाता है; यदि आप एक root
लॉगिन का उपयोग कर रहे थे , इसके बजाय, आपने इंटरनेट पर सर्फिंग को समाप्त कर दिया होगा, आईआरसी (और संभवतः सभी अन्य सामान जो एक समवर्ती करता है) root
खाते से कर रहा है, इस प्रकार सिस्टम को खतरे में डालने की आवश्यकता है।
अद्यतन: आपके संकलक उदाहरण के लिए, मैं इस तरह आगे बढ़ूंगा:
अपने नियमित उपयोगकर्ता के रूप में SSH के माध्यम से नोड में प्रवेश करें , और एक अन्य Ubuntu या GNU / Linux नोड से, जहां आपके पास एक ग्राफिकल X11 डिस्प्ले चल रहा है। SSH पर X11 को अग्रेषित करने में सक्षम होना सुनिश्चित करें:
ssh -X myuser@remotemachine.example.org
शेल / SSH प्रॉम्प्ट पर, आदेश जारी करें:
sudo /path/to/the/compiler/install/program
यह संकलक इंस्टॉलर को root
विशेषाधिकारों के साथ चलाएगा , और आपके सामने ग्राफिकल डिस्प्ले तक पहुंच (एसएसएच अग्रेषण के माध्यम से)।
उबंटू में सुडो के उपयोग के पीछे का तर्क यहां पाया जा सकता है । यदि आपको कभी "मुझे रूट" करने के लिए एक त्वरित तरीके की आवश्यकता होती है तो मैं उपयोग करता हूं sudo -s
या sudo -i
।
रूट का उपयोग करने के साथ चेतावनियों के पहाड़ों के अलावा, आप टर्मिनल से लॉग इन करके और निम्न करके रूट लॉगिन को सक्षम कर सकते हैं :
sudo passwd
यह पहले आपको अपने पासवर्ड के लिए संकेत देगा और फिर आपको UNIX पासवर्ड बदलने के लिए कहेगा। आपके द्वारा दर्ज किया गया पासवर्ड root
अकाउंट के लिए होगा ।
उबंटू विकी चेतावनियां और नुकसान - भीतर उबंटू जड़ और sudo की गहराई पर एक बड़ा लेख है।
यहां दो प्रश्न हैं। एक है, उबंटू में डिफ़ॉल्ट रूप से रूट लॉगिन अक्षम क्यों है? इसे यहां के कई पदों से संबोधित किया गया है।
दूसरा सवाल यह है कि ग्राफिकल रूट लॉगिन विशेष रूप से क्यों नापसंद हैं?
नॉनोग्राफिक रूट लॉगिन के सभी नुकसान ग्राफिकल रूट लॉगिन पर भी लागू होते हैं। लेकिन जब आप ग्राफ़िकल रूप से लॉग इन करते हैं, तो आप कहीं अधिक जटिल तरीके से काम करते हुए, कहीं अधिक जटिल तरीके से काम करते हुए कहीं अधिक प्रोग्राम चलाते हैं। जीयूआई को प्रभावी ढंग से उपयोग करने के लिए आवश्यक पूरे ग्राफिकल यूजर इंटरफेस और सभी ग्राफिकल कार्यक्रमों को रूट के रूप में चलाया जाएगा। उनमें से किसी में एक छोटी सुरक्षा भेद्यता किसी को आपके सिस्टम पर पूर्ण नियंत्रण लेने में सक्षम बनाती है।
उबंटू में रूट के रूप में लॉग इन करने की अनुशंसा नहीं की जाती है, लेकिन सुरक्षा समुदाय में इस बात पर आम सहमति नहीं है कि यह सार्वभौमिक रूप से एक बुरा व्यवहार है। हालाँकि, ग्राफिकल रूट लॉगिन, केवल एक बुरा अभ्यास है, और लगभग सभी ऑपरेटिंग सिस्टम ने उन्हें चरणबद्ध कर दिया है या उनके खिलाफ दृढ़ता से अनुशंसा करते हैं।
कुछ हद तक, गैर-रूट उपयोगकर्ता (विशेष रूप से सुडो या पॉलिसीकीट के साथ रूट के रूप में संचालन करने की क्षमता वाला) एक ग्राफिकल लॉगिन में जोखिम प्रस्तुत करता है। लेकिन वे तब से अधिक नियंत्रित हैं जब ग्राफिकल वातावरण में सब कुछ वास्तव में असीमित क्षमताओं के साथ जड़ के रूप में चलना चाहिए। फिर भी, उन परिस्थितियों के लिए जहां सुरक्षा सर्वोपरि है, आमतौर पर ग्राफिकल इंटरफेस के साथ पूरी तरह से दूर करने की सलाह दी जाती है, यही वजह है कि उबंटू सर्वर डिफ़ॉल्ट रूप से जीयूआई के साथ जहाज नहीं करता है और आधिकारिक तौर पर एक को स्थापित करने के खिलाफ सिफारिश करता है (हालांकि ऐसा करने के लिए समर्थित है) ।
विंडोज की दुनिया में, आप अब विंडोज सर्वर को इस तरह से स्थापित कर सकते हैं जो अनिवार्य रूप से ग्राफिकल यूजर इंटरफेस को समाप्त कर देता है (तकनीकी रूप से, कुछ तत्व बने हुए हैं, लेकिन यह बहुत कम हो गया है और आप मनमाने ढंग से ग्राफिकल प्रोग्राम नहीं चला सकते हैं)। यह उसी तर्क पर आधारित है।
यहां तक कि अगर आप रूट लॉगिन को सक्षम करने का निर्णय लेते हैं, तो कृपया ग्राफ़िकल रूप से रूट के रूप में लॉग इन न करें। रूट लॉगिन को सक्षम करना आपको थोड़ा अधिक सुरक्षा जोखिम में डाल सकता है; रूट के रूप में पूरे ग्राफिकल वातावरण को चलाने से आपको अत्यधिक जोखिम होता है।
इसके अतिरिक्त, ग्राफिकल प्रशासन टूल के अपवाद के साथ जिसे gksu / gksudo / kdesudo के साथ रूट के रूप में चलाने के लिए डिज़ाइन किया गया है, अधिकांश ग्राफ़िकल प्रोग्राम को रूट के रूप में चलाने का इरादा नहीं है। क्योंकि उन्हें इस विधा में बड़े पैमाने पर परीक्षण नहीं किया गया है, वे विफल हो सकते हैं या गलत तरीके से व्यवहार कर सकते हैं (जो विशेष रूप से बुरा होगा, क्योंकि वे रूट के रूप में चल रहे हैं )।
अंत में, यहां तक कि कुछ ग्राफिकल प्रशासन उपकरण, जैसेusers-admin
कि रूट के रूप में चलाने में विफल हो जाएंगे, क्योंकि वे सामान्य उपयोगकर्ताओं द्वारा चलाने और पॉलिसीकीट का उपयोग करके रूट (कभी वास्तव में रूट के रूप में चलने वाले) के रूप में कार्य करने की अपेक्षा करते हैं।
टर्मिनल खोलें ( Ctrl+ Alt+ Tया डैश होम> अधिक एप्लिकेशन> इंस्टॉल किया गया (विस्तृत करें)> टर्मिनल)।
रूट खाता को सक्रिय करने के लिए
एक टर्मिनल प्रकार या पेस्ट में sudo passwd root
। अपना सामान्य लॉगिन पासवर्ड दर्ज करें (यदि आपको इसके लिए कहा जाता है), तो आपको नया root
पासवर्ड दर्ज करने और इसकी पुष्टि करने के लिए कहा जाएगा ।
एक नया लॉग इन करने के लिए प्रस्ताव है कि आप रूट और उसके पास दर्ज करें
एक टर्मिनल प्रकार या पेस्ट में। gksudo gedit /etc/lightdm/lightdm.conf
। यह एक आलेखीय पाठ संपादक विंडो खोलता है जहाँ आप लॉगिन स्क्रीन के लिए विन्यास फाइल को संपादित कर सकते हैं।
greeter-show-manual-login=true
फ़ाइल के निचले भाग में लाइन जोड़ें ।
फ़ाइल को अब इस प्रकार पढ़ना चाहिए:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
lightdm.conf
फ़ाइल को सहेजें और gedit से बाहर निकलें।
रिबूट उबंटू 12.04 और आपको एक नई "लॉगिन" विंडो दिखाई देगी (पिछले "अन्य" विंडो की जगह) जो यूजरनेम और पासवर्ड इनपुट के लिए अनुमति देता है। root
उपयोगकर्ता नाम के लिए दर्ज करें और फिर रूट खाते में आपके द्वारा निर्दिष्ट पासवर्ड दर्ज करें।
मुझे उम्मीद है कि यह दूसरों की मदद करता है जिन्हें root
पहुंच की आवश्यकता है / चाहते हैं।
ubuntu 12.04 एलटीएस के लिए आप रूट विशेषाधिकार का उपयोग करके ऐसा कर सकते हैं:
echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf
फिर आपको उपयोगकर्ता नाम और पासवर्ड दोनों को ग्राफिक रूप से लॉगिन करने के लिए कहा जाता है। मुझे लगता है कि आप रूट के लिए पासवर्ड पहले ही सेट कर चुके हैं :)
मैं जानता हूं कि अनगिनत कारण हैं कि आपको सीधे रूट के रूप में लॉगिन नहीं करना चाहिए, हालांकि, कुछ दुर्लभ मामलों से बाहर निकलें (उदाहरण के लिए vmware में चल रहे एक परीक्षण बॉक्स में) जब आपने वास्तव में रूट होने की दृढ़ता की सराहना की थी।
क्योंकि रूट उपयोगकर्ता और प्रशासक (विंडोज में) एक कंप्यूटर के लिए एक भगवान के बराबर हैं। वह उपयोगकर्ता फ़ाइल अनुमतियों से लेकर संपूर्ण फ़ाइल सिस्टम को मिटाने तक कुछ भी समायोजित कर सकता है। यह औसत घर के उपयोगकर्ता के लिए प्रशासक के रूप में चलाने के लिए काफी आम है (या तो उस नाम के तहत या पहले बूट पर स्थापित एक अन्य नाम)। क्योंकि किसी भी प्रोग्राम को उस उपयोगकर्ता के रूप में निष्पादित किया जाता है, जो विस्तृत है, यह खतरनाक हो जाता है।
प्रशासनिक विशेषाधिकारों पर नियंत्रण की कमी वायरस / मैलवेयर या यहां तक कि आत्म-विनाशकारी मुद्दों की अनुमति देती है। यह इस वजह से है कि उबंटू सहित कई डिस्ट्रोस ने एक अतिरिक्त चरण (कुछ हद तक संज्ञानात्मक कदम जो "यहां कोई भी बदलाव करते हैं, जो कि मेरे द्वारा किए गए बदलाव हैं जो गुंजाइश में बहुत बड़े हैं") को बदलने में मदद करता है।
यद्यपि आप सीधे रूट के रूप में लॉगिन नहीं कर सकते हैं (उन कारणों के लिए जिन्हें दूसरों ने पहले से ही अच्छी तरह से समझाया है), आप जीयूआई अनुप्रयोगों को रूट के रूप में चला सकते हैं। उदाहरण के लिए, सिस्टम → प्रशासन → सिनैप्टिक पैकेज मैनेजर एक ग्राफिकल एप्लिकेशन है जो रूट के रूप में चलता है।
रूट के रूप में एक एप्लिकेशन को चलाने के लिए (या तो एक टेक्स्ट एप्लिकेशन या जीयूआई एप्लिकेशन), बस इस कमांड में से एक का उपयोग करें:
sudo name-of-the-application
gksu name-of-the-application
वे लगभग समान हैं। मुख्य अंतर यह है कि पहला टर्मिनल पर आपके पासवर्ड के लिए पूछता है, दूसरा एक ग्राफिकल डायलॉग विंडो का उपयोग करता है।
रूट को वास्तव में सामान्य उपयोग के लिए सलाह नहीं दी जाती है, लेकिन कभी-कभी आपके पास टर्मिनल आदेशों की एक लंबी सूची होती है, जिन्हें रूट विशेषाधिकार की आवश्यकता होती है और रूट के रूप में लॉगिन करने के लिए यह अधिक सुविधाजनक है। मैं रूट टर्मिनल खोलने के लिए उपयोग करता हूं sudo xterm
या gksu xterm
मुझे लगता है कि यह समझना थोड़ा आसान है कि किस टर्म विंडो में रूट विशेषाधिकार हैं जो आपके पास "रूट @" टर्म प्रॉम्प्ट है।
अतिरिक्त नोट: उबंटू जीयूआई उपयोगकर्ताओं को रूट के रूप में लॉगिन करने की अनुमति नहीं दे रहा है क्योंकि उबंटू आपको गलती से जीयूआई एप्लिकेशन (जैसे नॉटिलस) के साथ महत्वपूर्ण फाइलों को हटाने या हटाने से रोकता है।
केवल सीएलआई यूजर इंटरफेस के साथ, यह हमारी गलती के जोखिम को कम कर सकता है। लेकिन पूर्व में हम CLI मोड में भी रूट से लॉग इन नहीं कर सकते क्योंकि उबंटू रूट के लिए एक यादृच्छिक पासवर्ड बनाता है। रूट प्रशासनिक कार्य केवल उपयोगकर्ता के पासवर्ड को कमांड सुडो या गक्सु के साथ उपयोग करके किया जा सकता है।
यह डेबियन शासन पर आधारित है।
यह देखते हुए कि रूट के रूप में लॉगिन करने के लिए कोई अच्छा कारण नहीं हैं , मैं आरएच (रूट लॉगिन की अनुमति देता हूं) और उबंटू के बीच अंतर का अनुमान लगाऊंगा (सबो / gksu का उपयोग करके सब कुछ करना) प्राथमिकता का विषय है।
अपने प्रश्न के दूसरे भाग के रूप में, आपको एक नियमित उपयोगकर्ता के रूप में लॉग इन करके, दबाकर ALT-F2
और प्रवेश करके अपनी चित्रमय स्थापना को चलाने में सक्षम होना चाहिए gksu
। परिणामी संवाद में केवल वह कमांड दर्ज करें जो आपके इंस्टॉलर को लॉन्च करती है।
आपको हमेशा स्वयं के रूप में लॉग ऑन करना चाहिए और फिर जड़ के रूप में क्रिया करने के लिए सुडोल होना चाहिए। उबंटू की स्थापना आपको डिफ़ॉल्ट रूप से आवश्यक सभी एक्सेस की अनुमति देने के लिए की गई है। छोटे बदलाव बाकी का ध्यान रखेंगे (जैसे कि आपके इस्तेमाल को अन्य समूहों में जोड़ना)। इसे रूट के रूप में लॉग इन करने के लिए खराब अभ्यास माना जाता है। उद्योग का सबसे अच्छा अभ्यास यहां स्थापित डिफ़ॉल्ट है।
किसी को रूट के रूप में लॉग इन करने में सक्षम कोई सुरक्षा के दृष्टिकोण से बहुत खराब चीज हो सकती है।