1. आपके पास रूट पासवर्ड क्यों नहीं है
जब आप सुपरयूज़र खाते के लिए पासवर्ड बना सकते हैं, तो आप su
इसे रूट के रूप में लॉग इन कर सकते हैं , यह ध्यान देने योग्य है कि यह उबंटू के साथ काम करने का सामान्य तरीका नहीं है (या तेजी से, अन्य वितरण भी)। उबंटू ने मूल कारण और पासवर्ड को डिफ़ॉल्ट रूप से नहीं देना चुना । इसके बजाय, एक डिफ़ॉल्ट उबंटू sudo
सुपरसुसर विशेषाधिकार देने के लिए उपयोग करेगा । डिफ़ॉल्ट रूप से उबंटू में उस व्यक्ति को स्थापित करें जिसने ओएस स्थापित किया है उसे डिफ़ॉल्ट रूप से "sudo" अनुमति दी गई है।
पूर्ण "सूडो" अनुमति वाला कोई भी व्यक्ति " sudo
कमांडर के रूप में" सुपर कमांडर के रूप में कुछ कर सकता है । उदाहरण के लिए, apt-get dist-upgrade
एक सुपरयुसर के रूप में चलाने के लिए , आप इसका उपयोग कर सकते हैं:
sudo apt-get dist-upgrade
आप सूदो के इस उपयोग को वेब पर उबंटू के बारे में पढ़ते हुए कहीं भी देखेंगे। यह ऐसा करने का एक विकल्प है।
su
apt-get dist-upgrade
exit
Sudo के साथ, आप पहले से चुनते हैं कि किन उपयोगकर्ताओं के पास sudo पहुँच है। उन्हें रूट पासवर्ड याद रखने की कोई आवश्यकता नहीं है, क्योंकि वे अपने पासवर्ड का उपयोग करते हैं। यदि आपके पास एक से अधिक उपयोगकर्ता हैं, तो आप रूट पासवर्ड को बदलने की आवश्यकता के बिना किसी के सुपरसुअर एक्सेस को रद्द कर सकते हैं, बिना उसके पासवर्ड की अनुमति के। आप यह भी चुन सकते हैं कि उपयोगकर्ता को कौन-सी कमांड सूडो का उपयोग करने की अनुमति है और उस उपयोगकर्ता के लिए कौन से आदेश मना किए गए हैं। और अंत में, अगर कोई सुरक्षा भंग होता है तो कुछ मामलों में यह बेहतर ऑडिट ट्रेल को छोड़ सकता है जिसमें उपयोगकर्ता खाते से समझौता किया गया था।
सूदो सुपरसुसर विशेषाधिकारों के साथ एकल कमांड निष्पादित करना आसान बनाता है। इसके साथ su
, आप स्थायी रूप से एक सुपरसुअर शेल पर जाते हैं जिसे उपयोग करके exit
या बाहर निकलना चाहिए logout
। यह सुपरयूज़र शेल में रहने वाले लोगों को आवश्यकता से अधिक समय तक सिर्फ इसलिए ले जा सकता है क्योंकि यह लॉग आउट करने और बाद में फिर से अधिक सुविधाजनक है।
सुडो के साथ, आपके पास अभी भी कमांड के साथ एक स्थायी (इंटरैक्टिव) सुपरसुअर शेल खोलने का विकल्प है:
sudo su
... और यह अभी भी बिना किसी रूट पासवर्ड के किया जा सकता है, क्योंकि कमांड sudo
को सुपरयुसर विशेषाधिकार देता है su
।
और इसी तरह, su -
एक लॉगिन शेल के बजाय आप इसका sudo su -
या उसके शॉर्टकट का उपयोग कर सकते हैं sudo -i
।
हालाँकि ऐसा करते समय आपको बस इस बात की जानकारी होनी चाहिए कि आप हर कमांड के लिए एक सुपरयुसर के रूप में काम कर रहे हैं। यह एक अच्छा सुरक्षा सिद्धांत है कि आवश्यकता से अधिक समय तक सुपरयुजर के रूप में नहीं रहना है, बस गलती से सिस्टम को कुछ नुकसान पहुंचाने की संभावना को कम करना है (इसके बिना, आप केवल अपने उपयोगकर्ता के मालिक की फाइलों को नुकसान पहुंचा सकते हैं)।
बस स्पष्ट करने के लिए, आप कर सकते हैं , यदि आप चुनते हैं, तो रूट उपयोगकर्ता को @ ओली के उत्तर में वर्णित के रूप में लॉगिन के रूप में लॉगिन की अनुमति देता है, यदि आप विशेष रूप से इसके बजाय इस तरह से चीजें करना चाहते हैं। मैं आपको sudo
इसके बजाय उबंटू सम्मेलन के उबंटू सम्मेलन के बारे में बताना चाहता हूं और आपको बता दूं कि एक विकल्प है।
2. अपने chmod 777 -R कमांड के साथ समस्याएं
आपके प्रश्न का दूसरा हिस्सा भी है: कमांड के साथ आपके मुद्दे sudo chmod 777 -R foobs
।
सबसे पहले, निम्नलिखित चेतावनी आपके मशीन पर संभावित गंभीर सुरक्षा समस्या को इंगित करती है:
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
इसका मतलब है कि किसी न किसी स्तर पर, आप /var/lib/sudo
विश्व-लेखन के लिए तैयार हैं। मुझे लगता है कि आपने ऐसा कुछ चरण में किया है जैसे कि कमांड sudo chmod 777 -R /
। दुर्भाग्य से, ऐसा करने से आप संभवतः अपने पूरे सिस्टम में सभी फ़ाइल अनुमतियों को तोड़ चुके हैं। यह संभावना नहीं है कि यह एकमात्र महत्वपूर्ण सिस्टम फ़ाइल होगी, जिसकी अनुमति विश्व-योग्य होने के लिए बदल दी गई है। अनिवार्य रूप से आपके पास अब आसानी से हैक करने योग्य प्रणाली है, और इसे वापस लाने का एकमात्र आसान तरीका फिर से स्थापित करना होगा।
दूसरी बात, आप जो कमांड इस्तेमाल कर रहे थे:
sudo chmod 777 -R foobs
जब आपके घर निर्देशिका के भीतर फ़ाइलों में हेरफेर करते हैं, तो इस मामले में ~/Desktop
, आपको उपयोग नहीं करना चाहिए sudo
। आपके द्वारा अपने घर निर्देशिका में बनाई गई सभी फाइलें वैसे भी आपके द्वारा संशोधित की जानी चाहिए (और यदि नहीं, तो कुछ अजीब चल रहा है)।
इसके अलावा, आपको फ़ाइल अनुमतियों को बदलने के परिणामों से पूरी तरह अवगत होना चाहिए, जैसे कि यह पुनरावृत्ति करना या भारी संख्या में फ़ाइलों पर। इस स्थिति में, आप विश्व-योग्य होने के लिए फ़ाइल अनुमतियों को सावधानीपूर्वक सेट कर रहे हैं। किसी भी अन्य उपयोगकर्ता, या मशीन पर किसी भी छोटी गाड़ी के सर्वर सॉफ़्टवेयर में इन सभी फ़ाइलों और निर्देशिकाओं को अधिलेखित करने की आसान पहुँच हो सकती है।
यह लगभग निश्चित है कि आप जिस भी समस्या को हल करने की कोशिश कर रहे हैं, उसके लिए chmod 777 -R [dir]
यह उचित समाधान नहीं है (और जैसा कि मैंने ऊपर बताया है, इस बात के सबूत हैं कि आपने इसे सिस्टम फ़ाइलों / var / lib में भी किया है, और मैं बहुत से दूसरे को मानता हूं स्थान)।
अंगूठे के बुनियादी नियमों के एक जोड़े:
यदि आप अपने घर निर्देशिका, डेस्कटॉप आदि में अपनी खुद की फ़ाइलों के साथ गड़बड़ कर रहे हैं, तो आपको कभी भी उपयोग sudo
या सुपरयूज़र अधिकारों की आवश्यकता नहीं होनी चाहिए । यदि आप करते हैं, तो यह एक चेतावनी संकेत है कि आप कुछ गलत कर रहे हैं।
आपको पैकेज के स्वामित्व वाली सिस्टम फ़ाइलों को मैन्युअल रूप से संशोधित नहीं करना चाहिए। अपवाद: जब तक आप इसे विशेष रूप से उन पैकेजों द्वारा प्रलेखित तरीके से नहीं कर रहे हैं, जैसे कि उनके कॉन्फ़िगरेशन को संशोधित करके /etc
। यह फ़ाइल अनुमतियों को बदलने के लिए भी लागू होता है। यदि किसी ट्यूटोरियल या समस्या को ठीक करने के प्रयास के लिए sudo
या सुपरयुसर अधिकारों की आवश्यकता होती है , और यह केवल / etc / में कॉन्फ़िगरेशन में बदलाव नहीं है, तो यह एक चेतावनी संकेत है कि आप कुछ गलत कर रहे हैं।
chmod -R 777 whatever
, जब तक कि आप एक बड़ा सुरक्षा जोखिम पैदा नहीं करना चाहते।