हां, ACL: अलग-अलग उपयोगकर्ताओं या समूहों के लिए अलग-अलग अधिकार सेट करने की अनुमति देता है। IIRC सामान्य समूह अनुमतियाँ उन अनुमतियों के समूह को सीमित करती हैं, जिन्हें समूह और उपयोगकर्ता ACL: s (जैसा दिखाया गया mask
है getfacl
) के माध्यम से रख सकते हैं , लेकिन setfacl
यदि आप अनुमतियाँ जोड़ते हैं, तो इससे निपटना चाहिए।
लेकिन कुछ मामलों में आपको यह पूछने की ज़रूरत है कि क्या अनुमतियों का सेट कोई मतलब है।
मेरे पास इन वांछित अनुमतियों के साथ 3 उपयोगकर्ता हैं ...
- user1 rwx
- user2 rw_
- user3 r__
आप इसे ACL: s, या (लगभग) के साथ सामान्य यूनिक्स अनुमतियों के साथ लागू कर सकते हैं, जिससे user1 फ़ाइल का मालिक बना, user2 समूह का सदस्य हो, और दूसरों को, जिनमें user3 भी शामिल है, को पढ़ने-पहुंच प्रदान करें। हालाँकि तब हर कोई (डायरेक्टरी तक पहुँच के साथ) भी रीड-ऐक्सेस होता।
आइए उन अनुमतियों के अर्थ पर विचार करें। आपके पास एक उपयोगकर्ता है जो पढ़ सकता है, और दूसरा वह जो पढ़ और लिख सकता है। यह पूरी तरह से सामान्य है। इनमें से किसी के पास फ़ाइल को निष्पादित करने के लिए पहुंच नहीं है, लेकिन फिर एक तीसरे उपयोगकर्ता को ऐसा करने में सक्षम होना चाहिए।
यह मेरे दिमाग में ज्यादा मायने नहीं रखता है। कोई भी उपयोगकर्ता जो फ़ाइल को पढ़ सकता है, वह एक प्रतिलिपि (*) बना सकता है, इसे निष्पादन योग्य चिह्नित कर सकता है, और इसे चला सकता है, मूल फ़ाइल को निष्पादित करने के लिए उपयोग किए बिना। एकमात्र स्थिति यह समझ में आती है कि कुछ उपयोगकर्ताओं के लिए पहुंच को निष्पादित करना है, लेकिन दूसरों के लिए नहीं है, जब निष्पादन योग्य ने विशेषाधिकारों को suid के माध्यम से ऊपर उठाया है। लेकिन अगर ऐसा था, तो आपके पास अन्य उपयोगकर्ताओं के पास फ़ाइल तक लिखने की पहुंच नहीं होनी चाहिए।
उसी अर्थ में, user4 with -wx
और user5 मेरे साथ --x
कोई मतलब नहीं है। यदि केवल अपीयरेंस की अनुमति देने की संभावना थी, तो राइट-ओनली एक्सेस समझ में आता है , लेकिन अनुमति प्रणाली ठीक नहीं है।
(* जब तक वे कहीं लिख नहीं सकते)
हालाँकि, यदि हम x
बिट के लिए अजीब आवश्यकता को हटा देते हैं, तो हम एक फाइल के साथ छोड़ देते हैं, जहाँ user1 और user2 में राइट एक्सेस होनी चाहिए, और user3 में रीड एक्सेस होनी चाहिए। एक लेखक और कई पाठकों को पारंपरिक मॉडल के साथ आसान होगा, लेकिन इस मामले में युक्त निर्देशिका के अनुमतियों के साथ फ़ाइल अनुमतियों को संयोजित करने के लिए ट्रिक्स की आवश्यकता होगी। सौभाग्य से, कई मामलों में अधिक अनुमतियों वाला एक उपयोगकर्ता पर्याप्त है।
निष्पादित बिट पर आवश्यकता के बिना, यह एसीएल: एस का उपयोग करने के लिए एक मामले की तरह दिखता है। लेकिन इसके साथ, यह विशेष उदाहरण लगता है कि मेरे लिए जटिल है।