आपकी कम से कम एक महत्वपूर्ण सिस्टम फाइल का स्वामित्व गलत है। यह बुरी बात है; यदि यह कई सिस्टम फ़ाइलों के लिए हुआ है (शायद आप किसी बिंदु पर ध्वज के sudo chownसाथ एक बड़ी कमांड चलाते हैं -R?), यह कई अन्य सिस्टम त्रुटियों और अस्थिरताओं का कारण बन सकता है। इसलिए यदि आपने हाल ही में उबंटू स्थापित किया है , तो आप पुनर्स्थापना करना चाहते हैं क्योंकि एडम हीथकोट सुझाव देते हैं ।
लेकिन आपको इस समस्या को ठीक करने के लिए पुनर्स्थापित करने की आवश्यकता नहीं है । इसके बजाय, बस उस फ़ाइल पर स्वामित्व को ठीक करें। यदि आपको उसके बाद अन्य फ़ाइलों के बारे में त्रुटियाँ मिलती हैं, तो आप उन्हें भी ठीक कर सकते हैं (हालाँकि आपको यह बताना पड़ सकता है कि त्रुटि संदेश क्या हैं, इसलिए हम आपको बता सकते हैं कि उन्हें भी कैसे ठीक किया जाए)।
sudoकाम नहीं करता है, लेकिन उबंटू पर रूट के रूप में कार्रवाई करने के लिए व्यवस्थापकों के लिए दो तरीकों में से एक का उपयोग करनाsudo है । दूसरा है पोलकिट (जिसे पॉलिसीकीट कहा जाता था)।
इस कमांड को चलाएं, जो कि बैककिट pkexecके स्वामित्व को बदलने के लिए पोलकिट (थ्रू ) का उपयोग करता /usr/lib/sudo/sudoers.soहै root(यानी, यूआईडी 0):
pkexec chown root /usr/lib/sudo/sudoers.so
फिर sudoदोबारा उपयोग करके देखें । आप कुछ तुच्छ चला सकते हैं जैसे , और देखें कि क्या आपको एक त्रुटि संदेश मिलता है।sudo ls
अंत में, मैं historyआपके द्वारा चलाए गए सभी आदेशों को प्रकट करने के लिए चलाने की सलाह देता हूं। उम्मीद है कि आपके द्वारा चलाए गए सभी आदेशों को सूचीबद्ध करेगा जिन्होंने अनुमतियाँ बदल दी हैं। sudoअब मानकर काम करता है, मैं आउटपुट के नए प्रश्न को पोस्ट करने की सलाह देता हूं history, जिससे आपके द्वारा किए गए सभी फ़ाइल स्वामित्व और अनुमतियों में परिवर्तन करने में मदद मिल सके ।
अगर pkexecकाम नहीं करता है ...
आपने कोशिश की pkexecऔर यह काम नहीं किया। चूंकि न तो sudoऔर न ही पोलकिट आपको रूट के रूप में कार्य करने की अनुमति देने के लिए काम कर रहा है, आपको रिकवरी मोड में बूट करना होगा और रूट शेल प्राप्त करना होगा। ऐसा करने के लिए, Shiftअपने कंप्यूटर को बूट करते समय नीचे रखें , यह सुनिश्चित करने के लिए कि आपको एक दृश्य GRUB बूट मेनू मिल जाए। एक प्रविष्टि का चयन करें जिसमें शब्द पुनर्प्राप्ति मोड शामिल है (आम तौर पर, आपको उस शीर्ष के सबसे करीब का चयन करना चाहिए जिसमें वे शब्द हैं)। फिर आपको एक मेनू मिलेगा जहां आपके पास कई विकल्प हैं - रूट शेल पर ड्रॉप करने के लिए विकल्प चुनें।
पुनर्प्राप्ति मोड में रूट शेल तक पहुंचने के विस्तृत निर्देश यहां दिए गए हैं:
एक बार जब आप एक रूट शेल, रन:
chown root /usr/lib/sudo/sudoers.so
यदि आपको फ़ाइल या फाइल सिस्टम के बारे में कोई त्रुटि हो रही है, जिसे संशोधित नहीं किया जा रहा है, तो उसे पढ़ें:
mount -rw -o remount /
(रीमाउंटिंग के विचार के लिए स्रोत और इसे कैसे करना है: यह ज्यादातर असंबंधित उत्तर है ।)
फिर उस mountकमांड को चलाने के बाद , उपरोक्त chownकमांड को फिर से चलाएं और देखें कि क्या यह काम करता है।
एक बार जब आप पुनर्प्राप्ति मोड में हो जाते हैं, तो आप रन करके रिबूट कर सकते हैं:
reboot
sudoतब काम करना चाहिए, या कम से कम कुछ और त्रुटि देनी चाहिए ।
अंत में, कृपया ध्यान दें कि आपके द्वारा दिखाई गई त्रुटियों को देखते हुए, यह संभावना है कि कई फ़ाइलों में अब गलत स्वामित्व या अनुमतियां हैं। यह आदर्श होगा यदि आप यह पता लगा सकें कि आपने इस तरह से कौन सी फाइलें संशोधित की हैं। उदाहरण के लिए, यदि आप यह पता लगा सकते हैं कि यह कुछ विशिष्ट फ़ोल्डरों में सभी फाइलें थीं, तो हो सकता है कि आपके द्वारा हाल ही में की गई समस्याओं की पूरी सीमा को सही किया जा सके।
पुनर्स्थापना निश्चित रूप से एक विकल्प है, लेकिन विशेष रूप से अगर आप सभी बदल गए थे तो स्वामित्व था (और अनुमतियाँ नहीं, जो कि कुछ हद तक पुनर्निर्माण करना कठिन है क्योंकि वे अधिक भिन्न होते हैं), यह संभव है कि अनुमतियों को अपने मूल मालिकों के लिए पुन: पुन: सेट किया जाए (शायद आमतौर पर रूट ) और क्षति को पूरी तरह से उलट दें।
हो रही है sudoफिर से काम एक पहला कदम है। उम्मीद है कि उपरोक्त तकनीक आपको ऐसा करने में सक्षम करेगी।
pkexec?