मैं हाल ही में सोच रहा था कि तीन और चार अंकों की संख्यात्मक फ़ाइल अनुमतियों में क्या अंतर है। मैं रन करके संख्यात्मक अनुमति प्राप्त करता हूं। stat --format "%a" $file_name0644 और 644 के बीच अंतर क्या है?
मैं हाल ही में सोच रहा था कि तीन और चार अंकों की संख्यात्मक फ़ाइल अनुमतियों में क्या अंतर है। मैं रन करके संख्यात्मक अनुमति प्राप्त करता हूं। stat --format "%a" $file_name0644 और 644 के बीच अंतर क्या है?
जवाबों:
चार अंकों की अनुमति में पहला अंक सेट यूजर आईडी (4), सेट समूह आईडी (2) और स्टिकी (1) का योग है । तीन अंकों की अनुमति चार अंकों की अनुमति के समान है, जिसमें पहला अंक शून्य पर सेट है। इस प्रकार:
यदि सेट यूजर आईडी वाली फ़ाइल निष्पादित की जाती है, तो इसे निष्पादित किया जाता है जैसे कि फ़ाइल के मालिक द्वारा निष्पादित करने वाले उपयोगकर्ता के बजाय। इस प्रकार, उदाहरण के लिए, /bin/mountआमतौर पर रूट के स्वामित्व में है और इसकी अनुमति 4755 है जहां 4 यह दर्शाता है कि, भले ही एक सामान्य उपयोगकर्ता द्वारा निष्पादित किया गया हो, यह स्वामी के (रूट के) विशेषाधिकारों के साथ चलेगा।
डायरेक्टरी पर ग्रुप आईडी सेट करना फाइलों को साझा करने के लिए उपयोगी है।
चिपचिपा बिट का उपयोग निर्देशिकाओं पर किया जाता है /tmpताकि सभी उपयोगकर्ता फ़ाइलें बना सकें लेकिन गैर-मालिकों को अन्य लोगों की फ़ाइलों को हटाने से रोक सकें। इस प्रकार, /tmpआमतौर पर अनुमतियाँ 1777 हैं जहां 1 यह दर्शाता है कि चिपचिपा बिट सेट है।
से man chmod:
एक न्यूमेरिक मोड एक से चार अष्टक अंकों (4-7) का होता है, जिसे बिट्स को 4, 2, और 1. बिट्स के साथ जोड़कर व्युत्पन्न किया जाता है। ओटिटेड अंकों को अग्रणी शून्य माना जाता है। पहला अंक सेट यूजर आईडी (4) और सेट ग्रुप आईडी (2) और प्रतिबंधित विलोपन या स्टिकी (1) विशेषताओं का चयन करता है। दूसरा अंक उस उपयोगकर्ता के लिए अनुमतियों का चयन करता है जो फ़ाइल का मालिक है: पढ़ा (4), लिखना (2), और निष्पादित (1); तीसरा फ़ाइल के समूह में अन्य उपयोगकर्ताओं के लिए समान मानों के साथ अनुमतियों का चयन करता है; और अन्य उपयोगकर्ताओं के लिए चौथा फ़ाइल के समूह में नहीं, समान मूल्यों के साथ।