चाउ कमांड को वापस कैसे करें?


17

अगर मैं चला:

sudo chown -R user:user /

क्या मैं इसे चलाने से पहले इसे वापस कर सकता हूं?


1
बस दूसरों के लिए एक चेतावनी के रूप में: निम्न आदेश sudo chown -R user:user ..का यहाँ उसी तरह प्रभाव हो सकता है जैसा कि आप यहाँ उल्लेखित करते हैं यदि आप फ़ाइल सिस्टम के मूल से एक स्तर नीचे हैं। कुछ इस तरह की कोशिश मत करो।
राहगीर

जवाबों:


22

संक्षेप में: नहीं।

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

यदि आपके पास बैकअप नहीं है, तो आपको मैन्युअल रूप से सभी को ठीक करना होगा।


के बाद sudo chown -R user:user /, यह संभावना है कि सिस्टम इतनी बुरी तरह से hosed है कि आप बैकअप से पुनर्स्थापित नहीं कर सकते
कीथ थॉम्पसन

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

मेरी पहले की टिप्पणी शायद अस्पष्ट थी। सिस्टम का उपयोग करके ही एक कार्य प्रणाली को बहाल किया जा सकता है। एक बार जब आप chownवर्णित कर लेते हैं , तो संभावना है कि आप स्क्रैच से पूरे सिस्टम को स्थापित करने से पहले कुछ भी करने में सक्षम नहीं होंगे ; सिस्टम में rootखाता भी नहीं है , और sudoकाम नहीं करेगा। यह संभवतः एकल-उपयोगकर्ता शेल में बूट करने का प्रयास करने के लायक है, लेकिन यह काम करने की उम्मीद नहीं करता है।
कीथ थॉम्पसन

1
रूट खाता समाप्त नहीं हुआ (यह अभी भी यूआईडी 0 है); यह अब किसी भी फाइल का मालिक नहीं है, लेकिन रूट सामान्य अनुमति को चेक करता है। चाहे sudoया तब भी suकार्य करना जारी रहेगा जब इसकी सभी प्रासंगिक फाइलें userएक अलग मामला है (शायद इसलिए नहीं क्योंकि अन्य चीजों के बीच निर्गमन पर SUID बिट चला जाएगा)।
jw013

6

केवल तभी जब आप अपनी /निर्देशिका के तहत हर फ़ाइल और निर्देशिका के उपयोगकर्ता और समूह के स्वामित्व को जानते हैं ।

फिर भी, आपने पहले ही क्रिटिकल सिस्टम फाइल्स के स्वामित्व को रोक दिया है, जिसे sudoकमांड सहित रूट द्वारा स्वामित्व की आवश्यकता है । आपको शायद किसी अन्य सिस्टम पर हार्ड ड्राइव को माउंट करने की आवश्यकता होगी - और ध्यान रखें कि अन्य सिस्टम की संभावना एक ही यूआईडी और जीआईडी ​​मैपिंग के रूप में नहीं होगी, जैसा कि आप सिर्फ क्लॉबर्डेड हैं।

यदि आप कर सकते हैं तो संपूर्ण हार्ड ड्राइव की एक प्रति बनाएं, फिर अपने ऑपरेटिंग सिस्टम को फिर से इंस्टॉल करें। एक बार जब आप ऐसा कर लेते हैं, तो आप नए मिटाए गए सिस्टम पर फ़ाइलों को कॉपी करने और उनके मालिकों को पुनर्स्थापित करने का प्रयास कर सकते हैं। आप शायद मान सकते हैं (हालांकि 100% मज़बूती से नहीं) कि सब कुछ /home/fooउपयोगकर्ता के स्वामित्व में है foo, और इसके तहत प्रत्येक मेल स्पूल फ़ाइल /var/mailउपयुक्त उपयोगकर्ता (यदि आपके पास सिस्टम पर ई-मेल है) के स्वामित्व में है। /homeसिस्टम के साथ आपने जो किया है, उसके आधार पर आप अधिकांश फ़ाइलों को पुनर्स्थापित किए बिना दूर हो सकते हैं ।

और फिर हिट sudo होने से पहले आपके द्वारा चलाए जा रहे किसी भी कमांड को दोबारा जांचने की आदत डालना शुरू करें Enter


6

यदि आपका डिस्ट्रो आरपीएम आधारित है, तो आप केवल आरपीएम पैकेजों द्वारा स्थापित फ़ाइलों को पुनर्स्थापित कर सकते हैं।

सभी पैकेज अनुमतियां बहाल करने के लिए:

rpm --setperms -a

सभी पैकेज स्वामी (उपयोगकर्ता / समूह) को पुनर्स्थापित करने के लिए:

rpm --setugids -a

यदि -a नहीं चलता है, तो आप बैश लूप निष्पादित कर सकते हैं:

अनुमतियों के लिए:

for x in $(rpm -qa); do rpm --setperms $x; done

मालिक के लिए:

for x in $(rpm -qa); do rpm --setugids $x; done

: से निकाले http://www.sysadmit.com/2016/10/linux-restaurar-permisos-de-un-paquete.html


1

आप वर्तमान संस्करणों को स्टोर कर सकते हैं और फिर -v विकल्प का उपयोग करके वापस लौट सकते हैं।

chown -R nobody:nobody -v /tmp/some_file > /tmp/chown.log
cat /tmp/chown.log

सामग्री होगी:

changed ownership of `/tmp/some_file' from me:users to nobody:nobody

अपनी पसंदीदा स्क्रिप्टिंग भाषा और नियमित अभिव्यक्तियों का उपयोग करके, आप उन्हें (यदि आपको चाहिए) श्रद्धा की दर्दनाक प्रक्रिया को निष्पादित कर सकते हैं।

मैं दृढ़ता से अनुशंसा करता हूं कि आप / आदि / छाया या किसी भी अन्य महत्वपूर्ण फ़ाइल को उजागर / पर एक पुनरावर्ती चांस न करें


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.