आरएम: निर्देशिका को हटा नहीं सकता /: अनुमति से इनकार किया


17

मैंने "शेडी" नामक एक निर्देशिका बनाई और इसके लिए यह अनुमति दी

sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul  1 01:58 shadi

इस स्थिति में मेरे पास "अन्य" अनुमतियां हैं, लेकिन मैं इसे हटा क्यों नहीं सकता?

sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied

जवाबों:


25

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

"ls -ld / home" का टर्मिनल स्क्रीनशॉट

यदि मैं "डब्ल्यू" अनुमति के साथ निर्देशिका में हूं, तो मैं फ़ाइल अनुमति के बारे में चिंतित हुए बिना इसकी किसी भी फ़ाइल को हटा सकता हूं। ध्यान दें कि मेरी वर्तमान निर्देशिका है /home/rohithजिसमें "w" अनुमति है और इसलिए मैं फ़ाइल अनुमतियों के बावजूद इसकी किसी भी फ़ाइल को हटा सकता हूं।

हटाने / घर / rohith / shadi के टर्मिनल स्क्रीनशॉट

यदि वही फ़ाइल '/ होम' डायरेक्टरी में बनाई गई है जिसकी कोई "डब्ल्यू" अनुमति नहीं है, तो मुझे आपके समान आउटपुट मिलता है! :)

/ होम / शेड को हटाने की कोशिश करने का टर्मिनल स्क्रीनशॉट


9

ऐसा इसलिए होता है क्योंकि आप निर्देशिका के स्वामी नहीं हैं, यह 'रूट' और 'रूट' समूह के स्वामित्व में है। इसलिए इसे हटाने के लिए आप या तो स्वामित्व बदल सकते हैं और फिर इसे हटा सकते हैं (यहां आप अपने अधिकारों को बढ़ा सकते हैं और स्वामित्व लेने के लिए 'मूल' बन सकते हैं):

sudo chown $USER:$USER ./shadi
rm -r ./shadi

या आप स्वामित्व लेना छोड़ देते हैं और sudo rmअपने अधिकारों को ऊंचा करने और हटाने के लिए 'मूल' बन जाते हैं:

sudo rm -r ./shadi

इसका मतलब है कि बस मालिक फाइलें हटा सकते हैं?
सिनोश जूल

हां, या आपको sudoआदेश के साथ अपने अधिकारों को बढ़ाने की आवश्यकता है । यह तब आपके पासवर्ड के लिए पूछेगा और आप विशेष रूप से निम्नलिखित कमांड के लिए 'रूट' बन जाते हैं।
१०:

क्या अब आप अगर "shadi" एक फाइल है, तो मैं इसे "sinoosh" उपयोगकर्ता के साथ हटा सकता हूं। मुझे "sudo" की आवश्यकता नहीं है, यह मेरे लिए दृश्य नहीं है कि यह निर्देशिका के साथ काम क्यों नहीं करता है
Sinoosh

6

इसे इस्तेमाल करे:

sudo rm -r ./shadi

अनुमतियाँ स्वामी रूट और समूह रूट दिखाती हैं, इसलिए आपको sudo का उपयोग करना होगा।


1
हाँ यह आदेश ठीक है, लेकिन मेरी समस्या यह है कि rm इस अनुमतियों के साथ काम नहीं कर रहा है क्योंकि मुझे इस निर्देशिका के लिए अन्य क्षेत्र में पूर्ण अनुमति है
Sinoosh

"मेरे पास इस निर्देशिका के लिए पूर्ण अनुमति है" नहीं आप नहीं। "अन्य क्षेत्र" छाया "अन्य" नहीं है।
रिनविंड जूल

लेकिन "sinoosh" दूसरों के अंतर्गत आता है और वह अमल "rm -r shadi"
Sinoosh

0

यह अलग-अलग खाते हैं।

यदि आपके घर की निर्देशिका को हटाने की अनुमति सभी के पास है, तो आप अपने खाते से सुरक्षा की अपेक्षा कैसे करेंगे?

आपके पास wडिफ़ॉल्ट रूप से किसी अन्य के घर निर्देशिका को हटाने की अनुमति नहीं है , भले ही वे chmod +wइसे छोड़ दें ।

यहां अलग-अलग अनुमतियां हैं, और एक उदाहरण ( -rwxr-x---/ rwxrx):

+ - + - + - + - +
| + | यू | जी | ओ |
+ - + - + - + - +
| आर | 1 | 1 | 1 |
+ - + - + - + - +
| w |  | २ | २ |
+ - + - + - + - +
| x | 4 | 4 | 4 |
+ - + - + - + - +
| * | 7 | 5 | 0 |
+ - + - + - + - +
यह इस प्रकार है: 1 + 2 + 4 = 7, 1 + 4 = 5, 0 = 0, इसलिए 750, एक आदर्श अनुमति प्रणाली अर्थात्। स्वामी ( uइस मामले में) फ़ाइल को पढ़, लिख और निष्पादित कर सकता है, स्वामी का समूह ( gइस मामले में) पढ़ सकता है और निष्पादित कर सकता है, और अन्य कोई भी ( oइस मामले में) कुछ नहीं कर सकता है। यह पौराणिक कथा है:
यू: वर्तमान उपयोगकर्ता (उपयोगकर्ता)
g: वर्तमान उपयोगकर्ता के समूह (समूह)
ओ: वर्तमान उपयोगकर्ता के समूह (अन्य) नहीं
आर: पढ़ने की अनुमति (पढ़ें)
डब्ल्यू: लिखने की अनुमति (लिखें)
एक्स: निष्पादित अनुमति (एक्स-एक्स्यूट)

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