मैं इस फ़ाइल को रूट के रूप में क्यों नहीं हटा सकता?


20

मैंने इसमें 2 फाइलों के साथ डायरेक्टरी परीक्षा दी है। मुझे फ़ाइलों को हटाने की आवश्यकता है लेकिन अनुमति से इनकार कर दिया गया है। यहां तक ​​कि rm -rfकमांड इन फ़ाइलों को हटा नहीं सकता है। मैंने रूट यूजर के रूप में लॉग इन किया।

यहाँ छवि विवरण दर्ज करें


13
(1) यदि संभव हो तो कृपया टर्मिनल से पाठ को पाठ के रूप में पोस्ट करें । आदर्श रूप से, इसे कॉपी और पेस्ट करें। यदि आपके पास मैन्युअल रूप से ट्रांसक्रिप्ट करने के अलावा टेक्स्ट को कैप्चर करने का कोई तरीका नहीं है, तो ऐसा करें, लेकिन खुलासा करें कि आप इसे कर रहे हैं, और स्क्रीन कैप्चर इमेज को शामिल करें ताकि हम आपकी टाइपिंग को दोबारा जांच सकें। (2) जब आपके पास अनुमतियों के बारे में कोई प्रश्न है, तो कृपया, हमेशा करें ls -la, इसलिए हम अनुमतियों को .(निर्देशिका) देख सकते हैं ।
जी-मैन का कहना है कि 'मोनिका की बहाली'

जवाबों:


39

रूट उपयोगकर्ता से फाइलों की विशेषताओं की जांच करें

# lsattr 

यदि आप नोटिस करते हैं i(अपरिवर्तनीय) या a(केवल परिशिष्ट), तो उन विशेषताओं को हटा दें:

# man chattr
# chattr -i [filename]
# chattr -a [filename]

1
वाह, यह एक मुश्किल था। इस समाधान को पोस्ट करने के लिए धन्यवाद; मैं अपने दिमाग के अंत में था। मुझे पूरा यकीन था कि यह किसी भी तरह मेरे यूनिसन सिंक्रनाइज़ेशन से संबंधित था ; इसे एक 'अज्ञात' अवस्था में (कई कारणों के कारण) छोड़ दिया गया था, और इसका मतलब यह था कि जिन निर्देशिकाओं को मैं हटा नहीं सकता था, उन्हें (केवल एकरूपता से) जोड़ा गया था। लेकिन मुझे इस बात का कोई सुराग नहीं था कि उस एपेंड-ओनली मोड को कैसे देखें / रीसेट करें! आप एक जीवन रक्षक थे; मुझे उम्मीद है कि मूल पोस्टर में भी उनकी समस्या हल हो गई थी।
ग्वेनेथ लेलेवेन

यह एक लाइफसेवर है।
लुका

16

rmशिकायत करने का सबसे आम कारण है कि आपके पास फ़ाइल हटाने की अनुमति नहीं है, यह है कि निर्देशिका पर अनुमतियाँ आपको फ़ाइल हटाने से मना करती हैं। किसी फ़ाइल को हटाने के लिए, आपको निर्देशिका पर लिखने की अनुमति चाहिए। फ़ाइल पर अनुमतियाँ अप्रासंगिक हैं ( केवल पढ़ने के लिए फ़ाइल हटाने से पहले पुष्टि के लिए संकेत के rmबिना -f, लेकिन यह सिर्फ एक पुष्टि है, सीमा नहीं)। कुछ यूनिक्स वेरिएंट जैसे कि OSX (लेकिन लिनक्स नहीं), एक फ़ाइल पर एसीएल इसके विलोपन को रोक सकता है; यदि फ़ाइल पर ACL प्रविष्टि थी, तो अनुमति फ़ील्ड के अंत में ls -lदिखाई देगी @

रूट के रूप में पहुंच अनुमतियों को दरकिनार कर देता है, इसलिए रूट केवल-पढ़ने वाली निर्देशिका में भी फ़ाइलों को हटा सकता है।

अनुमति कॉलम के अंत में ls -lशो से आउटपुट .। यह इंगित करता है कि फ़ाइल में SELinux सुरक्षा प्रसंग है। बुनियादी अनुमतियों और एसीएल के विपरीत, एक फाइल पर SELinux सुरक्षा संदर्भ नियंत्रित कर सकता है कि इसे हटाने की अनुमति किसको है। इसके अलावा SELinux को हमेशा रूट द्वारा बाईपास नहीं किया जा सकता है (उपयोगकर्ता ID 0 के रूप में चलने की प्रक्रिया संभव है लेकिन SELinux नीति डिजाइनर के रूप में कुछ अधिकारों के साथ)। यह देखने के लिए कि SELinux संदर्भ आपको क्या करने, चलाने की अनुमति देता है ls -lZ . exam_a

एक और चीज़ जो किसी फ़ाइल को डिलीट होने से रोक सकती है, वह है यदि वह या जिसमें वह निर्देशिका है जिसमें केवल-अप या अपरिवर्तनीय लिनक्स विशेषता हैlsattr -d . exam_aलिनक्स विशेषताओं को देखने के लिए चलाएँ । यदि aया iविशेषता चालू है, तो आपको chattr -a -i . exam_aफ़ाइल को हटाने के लिए इसे ( ) हटाने की आवश्यकता होगी ; केवल जड़ ही ऐसा कर सकता है। किसी फ़ाइल को हटाने के लिए रूट इन विशेषताओं को दरकिनार नहीं कर सकता है, विशेषताओं को पहले बंद करना होगा।

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

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