निकालने की कार्रवाई के लिए यूनिक्स अनुमतियाँ थोड़ी अजीब हैं।
आरंभ करने के लिए, फ़ाइल को हटाने से वास्तव में निर्देशिका से फ़ाइल का लिंक हटाना शामिल है। चूंकि अधिकांश यूनिक्स फाइलसिस्टम हार्ड लिंक की अनुमति देते हैं, इसलिए फ़ाइल को एक से अधिक निर्देशिकाओं से जोड़ा जाना संभव है, इसलिए एक से अधिक लिंक मौजूद हैं। और जब आप किसी लिंक को हटाते हैं, तो फ़ाइल तब तक नहीं हटाई जाती, जब तक कि कोई अन्य लिंक मौजूद न हो।
इस कारण से, किसी फ़ाइल को "हटाने" के लिए उपयोग किए जाने वाले वास्तविक सिस्टम कॉल को कहा जाता है unlink। हालांकि, शेल कमांड उपयोगिता जो अनलिंक को पूरा करती है उसे कहा जाता है rm, जो "हटाने" के लिए एक महामारी है।
चूंकि अनलिंक ऑपरेशन निर्देशिका को संशोधित करता है (निर्देशिका प्रविष्टि को हटाकर) और फ़ाइल नहीं, इसलिए ऑपरेशन के लिए आवश्यक अनुमति निर्देशिका पर लिखने की अनुमति है । फ़ाइल पर अनुमतियाँ स्वयं अप्रासंगिक हैं।
हालाँकि, जैसा कि यह पता चला है, एक फ़ाइल को हटाने की कोशिश करना एक सामान्य गलती है जो वास्तव में उस निर्देशिका से आपका संबंध नहीं रखता है जिसमें आपने अनुमति लिखी है। (अधिक सटीक रूप से, स्थिति सामान्य नहीं है, लेकिन उन मामलों में जहां यह मौजूद है, फ़ाइल को हटाने के लिए गलती से प्रयास करना कुछ हद तक सामान्य है।)
अपने स्वयं के पैर की उंगलियों की शूटिंग से सिसडमिन को बचाने में मदद करने के लिए, rmउपयोगिता पहले पुष्टि करती है कि इसे लागू करने वाले व्यक्ति ने फ़ाइल पर अनुमति लिखी है , भले ही उस फ़ाइल को अनलिंक करने के लिए अनुमति आवश्यक नहीं है। स्पष्ट कारणों के लिए, यह फ़ाइल को हटाने का प्रयास करने से पहले यह जाँच करता है।
rmउपयोगिता है नहीं की जाँच उपयोग फ़ाइल लिंक रद्द करना अनुमति है या नहीं, आम तौर पर माना जाता है बुरा शैली क्योंकि "कार्रवाई से पहले जाँच"। बल्कि, यह वांछित कार्रवाई करता है, और विफलता की रिपोर्ट करता है यदि ऑपरेटिंग सिस्टम एक त्रुटि देता है। इस स्थिति में, ओएस EACCES को रिपोर्ट करेगा क्योंकि उपयोगकर्ता के पास निर्देशिका तक पहुंच नहीं है।
दुर्भाग्यपूर्ण परिणाम यह है कि यदि आप ऐसी फ़ाइल को हटाने का प्रयास करते हैं जिसके लिए आपके पास उस निर्देशिका से लिखने की अनुमति नहीं है, जिसमें आपके पास rmलिखित अनुमति नहीं है, तो यह निरर्थक रूप से आपसे पूछेगा कि क्या आगे बढ़ना है और फिर विफलता की रिपोर्ट करें।