गैर-विशेषाधिकार प्राप्त उपयोगकर्ता (रूट नहीं) chown
अन्य उपयोगकर्ता नामों के लिए फाइल नहीं कर सकते हैं । उपयोग करने के लिए chown
, एक उपयोगकर्ता के पास लक्ष्य उपयोगकर्ता के विशेषाधिकार होने चाहिए। दूसरे शब्दों में, केवल root
किसी अन्य उपयोगकर्ता को एक फ़ाइल दे सकते हैं।
जैसा कि यहाँ बताया गया है (साभार @slhck):
केवल फ़ाइल के उपयोगकर्ता आईडी के बराबर या उचित विशेषाधिकार के साथ एक प्रभावी उपयोगकर्ता आईडी के साथ प्रक्रियाएं फ़ाइल के स्वामित्व को बदल सकती हैं। यदि पथ के लिए _POSIX_CHOWN_RESTRICTED प्रभावी है:
उपयोगकर्ता आईडी बदलना उचित विशेषाधिकार के साथ प्रक्रियाओं तक सीमित है।
समूह आईडी को बदलने की अनुमति एक प्रभावी उपयोगकर्ता आईडी के साथ एक प्रक्रिया है जो फ़ाइल के उपयोगकर्ता आईडी के बराबर है, लेकिन उपयुक्त विशेषाधिकारों के बिना, यदि और केवल यदि मालिक फ़ाइल के उपयोगकर्ता आईडी या (uid_t) -1 के बराबर है और समूह बराबर है या तो कॉलिंग प्रक्रिया 'प्रभावी समूह आईडी या उसके पूरक समूह आईडी में से एक के लिए।
इसके पीछे के तर्क को @Gilles द्वारा अच्छी तरह से समझाया गया है इस यूनिक्स और लिनक्स उत्तर :
इस प्रतिबंध का कारण यह है कि किसी अन्य उपयोगकर्ता को एक फ़ाइल देने से बुरी चीजें असामान्य रूप से हो सकती हैं, लेकिन फिर भी महत्वपूर्ण परिस्थितियां हैं। उदाहरण के लिए:
- यदि किसी सिस्टम में डिस्क कोटा सक्षम है, तो ऐलिस केवल उसके द्वारा सुलभ एक निर्देशिका के तहत एक विश्व-लेखन योग्य फ़ाइल बना सकता है (इसलिए कोई और उस विश्व-लेखन फ़ाइल को निर्देशिका में एक्सेस नहीं कर सकता), और फिर उस फ़ाइल को स्वामित्व में बनाने के लिए उसे चलाएं। एक अन्य उपयोगकर्ता बिल। फ़ाइल तब बिल की डिस्क कोटा के तहत गिना जाएगा भले ही केवल ऐलिस फ़ाइल का उपयोग कर सकता है।
- यदि ऐलिस बिल के लिए एक फ़ाइल देता है, तो कोई निशान नहीं है कि बिल ने वह फ़ाइल नहीं बनाई है। यह एक समस्या हो सकती है यदि फ़ाइल में अवैध या अन्यथा डेटा शामिल है।
- कुछ कार्यक्रमों के लिए अनुरोध करने के लिए उनकी इनपुट फ़ाइल किसी विशेष उपयोगकर्ता से संबंधित होती है (उदाहरण के लिए, फ़ाइल में कुछ निर्देश होते हैं जो प्रोग्राम उस उपयोगकर्ता की ओर से करेगा)। यह आमतौर पर एक सुरक्षित डिजाइन नहीं है, क्योंकि भले ही बिल ने एक फाइल बनाई है जिसमें सिंटैक्टिक रूप से सही निर्देश हैं, वह इस विशेष समय में उन्हें निष्पादित करने का इरादा नहीं कर सकता है। फिर भी, ऐलिस को मनमाने ढंग से सामग्री के साथ एक फ़ाइल बनाने की अनुमति देता है और इसे बिल से इनपुट के रूप में लिया जाता है, जिससे चीजें खराब हो सकती हैं।