Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

लिनक्स में एक बहुत उपयोगी विशेषता है "एक्सेस कंट्रोल लिस्ट" (ACL) जो फ़ाइलों और डायरेक्टरी तक पहुंच को नियंत्रित करती है। यहां बताया गया है कि एक्सेस कंट्रोल लिस्ट लिनक्स में फ़ाइल अनुमतियों को नियंत्रित करने के लिए कैसे काम करती है।

नोट: एक्सेस कंट्रोल लिस्ट कैसे काम करती है, इसे पूरी तरह से समझने के लिए, हम पहले एक कार्यशील लिनक्स सिस्टम पर कुछ उपयोगकर्ताओं और समूहों को सेट कर रहे हैं। निम्नलिखित अभ्यास काली ऑपरेटिंग सिस्टम चलाने वाली एक वर्चुअल मशीन पर किया गया है। रूट उपयोगकर्ता के पास सिस्टम में नए उपयोगकर्ताओं को जोड़ने और उन्हें समूहों को आवंटित करने की शक्ति होती है।

उपयोगकर्ता और समूह बनाना

सबसे पहले, हम रूट के रूप में लॉग इन करेंगे, उपयोगकर्ता बनाएंगे और उन्हें नीचे दी गई तालिका के अनुसार संबंधित समूहों में रखेंगे। अवधारणा को बेहतर ढंग से समझने में मदद के लिए उपयोगकर्ताओं को सरल नाम दिए गए हैं।

उपयोगकर्ता समूह
john1
john2
john3
johns
jane1
jane2
janes

हम सिस्टम में नए उपयोगकर्ताओं को जोड़ने के लिए adduser कमांड का उपयोग करेंगे।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

id कमांड नव निर्मित उपयोगकर्ता का विवरण प्रदर्शित करेगा। यह यूजर आईडी (uid), ग्रुप आईडी (gid) और ग्रुप नाम (groups) दिखाएगा। निर्माण पर, उपयोगकर्ता को स्वचालित रूप से उपयोगकर्ता नाम के समान नाम वाले समूह में जोड़ा जाता है। वह उपयोगकर्ता उस समूह का एकमात्र सदस्य होगा।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

इसी तरह, उपयोगकर्ता "john2" और "john3" भी बनाए जाते हैं।

adduser john2 adduser john3

एक बार तीनों उपयोगकर्ता बन जाने के बाद, उनके संबंधित उपयोगकर्ता और समूह आईडी देखने के लिए id कमांड का उपयोग करें।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

हम देख सकते हैं कि तीनों उपयोगकर्ता अपने-अपने समूहों में हैं - 1000, 1001 और 1002। पहले दिखाई गई तालिका के अनुसार, हम तीनों उपयोगकर्ताओं को एक ही समूह में चाहते हैं: johns. चूंकि ऐसा कोई समूह वर्तमान में सिस्टम पर मौजूद नहीं है, हम इसे groupadd कमांड से बनाएंगे:

groupadd -g <new_group_ID> <group_name>
लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

नया समूह आईडी 5000 के रूप में निर्दिष्ट किया गया है। यदि -g स्विच को नजरअंदाज किया जाता है, तो सिस्टम स्वचालित रूप से एक समूह आईडी चुनेगा। नए समूह का नाम "johns" है। अब तीन उपयोगकर्ताओं - "john1", "john2" और "john3" - को इस समूह के सदस्यों के रूप में जोड़ने की आवश्यकता है। हम इसके लिए usermod कमांड का उपयोग करेंगे।

usermod -g <group_name> <user_name>

usermod उपयोगकर्ता "user_name" को समूह "group_name" में जोड़ता है। निम्न आकृति पहले समूह परिवर्तन से पहले "john1" के लिए uid और gid प्रदर्शित करती है। usermod कमांड के सफलतापूर्वक चलने के बाद, "john1" को gid 5000 के साथ "johns" समूह में जोड़ा जाता है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

उपयोगकर्ता "john2" और "john3" के लिए भी यही प्रक्रिया की जाती है।

usermod -g johns john2 usermod -g johns john3

अंत में, "johns" समूह में तीनों उपयोगकर्ताओं के विवरण id कमांड का उपयोग करके देखे जा सकते हैं।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

हमने सफलतापूर्वक तीन उपयोगकर्ता बनाए और उन्हें एक ही समूह में जोड़ा।

इसी तरह, उपयोगकर्ता "jane1" और "jane2" बनाए जाते हैं और gid 6000 के साथ "janes" समूह में जोड़े जाते हैं। उनके विवरण नीचे दिखाए अनुसार id कमांड का उपयोग करके देखे जा सकते हैं।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

एक्सेस कंट्रोल लिस्ट की आवश्यकता क्या है?

मान लीजिए उपयोगकर्ता "john1" लॉग इन करता है,

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

होम डायरेक्टरी में एक नई फ़ाइल बनाता है,

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

और उसमें कुछ सामग्री जोड़ता है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

ls कमांड का उपयोग करके, हम फ़ाइल के मेटाडेटा को देखते हैं।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

आउटपुट में पहले कुछ वर्ण, - rw - r - - r - - अनुमति स्ट्रिंग के लिए जिम्मेदार हैं। आइए इसे विच्छेदित करें।

– rw – r – – r – –
फ़ाइल प्रकार john1 के पास फ़ाइल पर अनुमतियाँ johns समूह के सदस्यों के पास फ़ाइल पर अनुमतियाँ johns समूह में नहीं होने वाले अन्य लोगों को दी गई अनुमतियाँ

यह लेख फ़ाइल अनुमतियों पर एक अच्छा परिचय है।

क्या होगा यदि "john1", फ़ाइल का मालिक होने के नाते, "john2" और "jane1" को केवल लिखने की अनुमति देना चाहता है लेकिन "john3" और "jane2" के लिए पढ़ने की अनुमति बनाए रखना चाहता है?

rw – r – –
john1
john2
jane1
john3
jane2

एक विकल्प "john1", "john2" और "jane1" के लिए पढ़ने, लिखने की अनुमति के साथ एक नया समूह बनाना होगा और "john3" और "jane2" के लिए केवल पढ़ने की अनुमति के साथ एक और समूह। यदि john1 किसी समूह सदस्य के लिए अनुमतियों को और संशोधित करना चाहता है, तो अधिक समूह बनाने की आवश्यकता होगी। कई समूह बनाना और प्रबंधित करना सिस्टम प्रशासक के लिए बोझ है।

इसके बजाय, एक फ़ाइल के लिए एक "एक्सेस कंट्रोल लिस्ट" बनाई जा सकती है जो स्पष्ट रूप से बताएगी कि कोई भी उपयोगकर्ता उस फ़ाइल पर कौन से ऑपरेशन कर सकता है।

फ़ाइल के लिए एक्सेस कंट्रोल लिस्ट (ACL) कैसे बनाएं?

निर्माण पर प्रत्येक फ़ाइल को एक ACL सौंपा जाता है। इसका कुशलता से उपयोग करना केवल इसे संशोधित करने की बात है। केवल फ़ाइल मालिक और रूट उपयोगकर्ता फ़ाइल के ACL को संशोधित कर सकते हैं।

हम मौजूदा ACL को देखने के लिए getfacl कमांड का उपयोग कर सकते हैं:

getfacl <file_name>
लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

# से शुरू होने वाली लाइनें टिप्पणी लाइनें हैं। वास्तविक जानकारी आउटपुट की अंतिम तीन लाइनों में है, जो पहले प्राप्त अनुमति स्ट्रिंग के समान है। "user" लाइन फ़ाइल मालिक "john1" को सौंपी गई अनुमतियों को संदर्भित करती है। "group" लाइन "johns" समूह के अन्य सदस्यों को सौंपी गई अनुमतियों को संदर्भित करती है। जैसा कि आपने अनुमान लगाया, "other" लाइन समूह के बाहर किसी को भी संदर्भित करती है।

आइए फ़ाइल पर मौजूदा ACL को संशोधित करने के लिए setfacl कमांड का उपयोग करें।

setfacl -m entity:name:permissions <file_name>
entity name permissions
यह मान दर्शाता है कि ACL प्रविष्टि किसके लिए है: उपयोगकर्ता (u) या समूह (g) या अन्य (o) उपयोगकर्ता या समूह का नाम, जिसके लिए ACL प्रविष्टि प्रासंगिक है पढ़ने, लिखने, निष्पादित करने की अनुमतियों को अक्षर r,w,x द्वारा दर्शाया गया है

"john2" को पहले फ़ाइल पर पढ़ने, लिखने की पहुंच दी जाती है,

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

फिर "jane1" को।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

आइए "secretfile" के लिए अपडेट किए गए ACL को देखें।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

हम देख सकते हैं कि "john2" और "jane1" को पढ़ने और लिखने की अनुमति दी गई है।

ACL की प्रामाणिकता सत्यापित करना

हम देख सकते हैं कि "john2" फ़ाइल को पढ़ने और उसमें लिखने में सक्षम है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

"john2" द्वारा दर्ज की गई नई जानकारी फ़ाइल में जोड़ दी गई है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

इसी तरह, "jane1" को समान विशेषाधिकार मिलता है - पढ़ने और लिखने की पहुंच।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

लेकिन "john3" जो उसी समूह में है, फ़ाइल में लिखने में असमर्थ है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

"jane2", जो अन्य श्रेणी से संबंधित है, फ़ाइल में लिखने में भी असमर्थ है।

लिनक्स पर फ़ाइल अनुमतियों को नियंत्रित करने के लिए एक्सेस कंट्रोल लिस्ट (ACL) का उपयोग कैसे करें

निष्कर्ष

इसी प्रक्रिया को डायरेक्टरी तक भी बढ़ाया जा सकता है। एक्सेस कंट्रोल लिस्ट एक सिस्टम प्रशासक को फ़ाइल और डायरेक्टरी एक्सेस को कुशल तरीके से संभालने में सक्षम बनाती है।


  1. लिनक्स में tee कमांड का उपयोग कैसे करें लिनक्स में tee कमांड का उपयोग कैसे करें

    यदि आप कभी अपने लिनक्स शेल के तहत पाइप और रीडायरेक्शन का उपयोग करते हैं, तो संभावना है कि आपको कभी-कभी tee यूटिलिटी का उपयोग करने की भी आवश्यकता होगी। tee क्या करता है? ls जैसी कमांड आपके वर्तमान डायरेक्टरी की सामग्री प्रदर्शित करेगी। दूसरे शब्दों में, यह इन सामग्री को stdout (स्टैंडर्ड आउटपुट) पर प

  1. लिनक्स में Zip फ़ाइलें कैसे निकालें लिनक्स में Zip फ़ाइलें कैसे निकालें

    जब डाउनलोड गति धीमी थी और हर सेव किया गया बाइट मायने रखता था, तब की तुलना में Zip फ़ाइलें अब उतनी आम नहीं हैं। फिर भी, यह एक काफी सामान्य फ़ाइल प्रकार है। जल्दी या बाद में आपको शायद एक को खोलना पड़ेगा। आप जिस डिस्ट्रीब्यूशन का उपयोग करते हैं, उसके आधार पर, zip आर्काइव निकालना शायद काफी आसान है। फिर

  1. Linux में फ़ाइल के एक हिस्से को ट्रांसफर करने के लिए Zsync का उपयोग कैसे करें Linux में फ़ाइल के एक हिस्से को ट्रांसफर करने के लिए Zsync का उपयोग कैसे करें

    ISO इमेज जैसी बड़ी फ़ाइलें डाउनलोड करना एक बड़ी परेशानी हो सकती है। आपके इंटरनेट कनेक्शन के आधार पर, कभी-कभी उन्हें डाउनलोड करने में हमेशा के लिए लग सकता है, और वे ढेर सारी हार्ड ड्राइव स्पेस खा जाते हैं। फिर, यदि आपको कभी अपडेटेड संस्करण की आवश्यकता होती है, तो आपको पूरी प्रक्रिया फिर से दोहरानी पड