Chmod बनाम ACL के बीच अंतर


14

मैं समझता हूं chmodऔर chownअनुमति बिट कैसे काम करते हैं, लेकिन लिनक्स के अंदर एक और अनुमति प्रणाली है, ACLसाथ setfaclऔर getfacl, इसलिए यह मुझे आश्चर्यचकित करता है।

उन दो अनुमति नियंत्रण प्रणालियों के बीच अंतर क्या है? क्या वे एक दूसरे के साथ हस्तक्षेप करते हैं?

जवाबों:


8

एक दूसरे से बेहतर नहीं है, वे सिर्फ अलग-अलग तरीके और सोचने के तरीके हैं।

आप समस्याओं के बिना एक ही पथ पर दोनों अनुमतियाँ प्रणाली का उपयोग कर सकते हैं।

मालिक के मालिक, समूह और अन्य अनुमतियों को संशोधित करते समय वे एक-दूसरे के साथ हस्तक्षेप करते हैं: जब सेटफैक्ल से इन के लिए वर्तमान मूल्य निर्धारित करते हैं, तो यह वास्तव में पॉज़िट अनुमति सेट करेगा, एसीएल एक नहीं।

Posix अनुमतियाँ केवल एक मालिक, समूह और "सभी" की अनुमति देती हैं जबकि ACL कई "उपयोगकर्ताओं" और समूह को अनुमति देता है। ACL एक फ़ोल्डर में नई फ़ाइलों के लिए डिफ़ॉल्ट अनुमतियों को सेट करने की भी अनुमति देता है।

आप कठोर नियंत्रण के लिए एपर्मर या सेलिनक्स दोनों के साथ अधिक अनुमति प्रबंधन जोड़ सकते हैं।


1
क्या मैं यह मानने में सही हूं कि जब मैं दौड़ता ls -lहूं तो मैं केवल पॉज़िक्स अनुमतियों और एसीएल को देखने जा रहा हूं जो फ़ाइल को सीमित करता है और आगे नहीं दिखाया जाएगा? या क्या पॉज़िशन की अनुमति का सम्मान किया जाएगा?
mFeinstein

3
@mFeinstein निर्भर करता है। लिनक्स के तहत, एसीएल मौजूद हैं यह इंगित करने के लिए अनुमति वर्णों के अंत में ls -lडालता है +। यदि ACL मौजूद है तो मूल अनुमतियां पूर्ण कहानी नहीं बताती हैं: ACL POSIX अनुमतियों को ओवरराइड करता है।
गिल्स एसओ-

बहुत अच्छे! वह +कम से कम मुझे अपने आप को बंद करने से रोकता है
mFeinstein

3

Chmod द्वारा स्थापित क्लासिक यूनिक्स अनुमतियाँ (पढ़ें / लिखें / निष्पादित करें, उपयोगकर्ता / समूह / अन्य) ACL की तुलना में बहुत लंबे समय तक अस्तित्व में हैं। अगर ACL शुरू से ही अस्तित्व में था, तो एक chmod नहीं होगा जैसा कि हम जानते हैं। हालाँकि, चूंकि चामोड बहुत लंबे समय से अस्तित्व में है, कई एप्लिकेशन इसे कहते हैं, कई संग्रह प्रारूप क्लासिक अनुमतियों का समर्थन करते हैं, आदि आप एसीएल के साथ चामोद की अनुमति व्यक्त कर सकते हैं; वे एसीएल के लिए शुरुआती बिंदु के रूप में कार्य करते हैं।

देखें उपयोगकर्ता और समूह के मालिक की वरीयता फाइल अनुमति में और कोई उपयोगकर्ता अनेक समूहों के अंतर्गत आता है जब ACLS की वरीयता एसीएल की उपस्थिति में कैसे काम करता है अभिगम नियंत्रण के एक अधिक विस्तृत उपचार के लिए।

chmodआदेश भी कुछ झंडे जो वास्तव में अनुमतियाँ नहीं हैं को नियंत्रित करता है, लेकिन अक्सर अनुमतियाँ कहा जाता है फिर भी: setuid, setgid और चिपचिपा सा । ये वास्तव में अनुमति नहीं हैं क्योंकि वे प्रभावित नहीं करते हैं कि कौन सी एक्सेस फ़ाइल पर अधिकृत है, लेकिन फ़ाइल के कुछ संचालन कैसे अधिकृत किए जाने के बाद काम करते हैं। एसीएल के साथ ऐसा कुछ नहीं है।


तो वास्तव में एक फ़ाइल की अनुमति को समझने के लिए मुझे ACL और दोनों की जाँच करनी होगी ls -l?
mFeinstein

क्या यह देखने का कोई तरीका है कि क्या फ़ाइल / निर्देशिका पर कोई एसीएल विशिष्ट अनुमतियाँ हैं?
mFeinstein

@mFeinstein देखें कि क्या अनुमतियाँ अंत में lsएक अतिरिक्त प्रदर्शित होती हैं +, या getfaclACL सहित सभी अनुमतियों को प्रदर्शित करने के लिए कमांड चलाते हैं ।
गिल्स एसओ- बुराई को रोकना

1
बस getfacl myFile?
mFeinstein

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