समूह को फ़ोल्डर में लिखने की अनुमति देना


34

मैं 1 समूह को लिखित अनुमति कैसे दे सकता हूं?
मेरे 2 उपयोगकर्ता हैं ( alexऔर ben)।
alexसमूह का सदस्य है alexऔर समूह का है consult
benसमूह का सदस्य है benऔर समूह का है consult

मैं दोनों को alexऔर benफ़ोल्डर में रीड राइट एक्सेस देना चाहता हूं consult_documents

यदि मैं alexनिर्देशिका का स्वामी बनाता हूं consult_documentsऔर मैं निर्देशिका 775तक पहुंच प्रदान करता हूं consult_documents, benऔर alexफ़ोल्डर तक पहुंचने में सक्षम होऊंगा, मुझे लगता है।

लेकिन क्या यह अन्य फ़ोल्डरों benतक भी पहुंच बना सकेगा alex? यदि कोई उपयोगकर्ता दो समूहों में है, तो क्या इसका अर्थ है कि दोनों समूहों के सभी सदस्यों को सभी फ़ोल्डरों पर एक ही अनुमति मिलती है?


क्या आप चाहते हैं कि alex और ben परामर्श_ फाइलों में फाइलें बनाने में सक्षम हों और उन दस्तावेजों पर दोनों को पढ़ने / लिखने की अनुमति दें?
एक्स तियान

जवाबों:


42

किसी निर्देशिका पर 775 अनुमतियाँ प्रदान करने का अर्थ यह नहीं है कि एक निश्चित समूह के सभी उपयोगकर्ता उस rwxतक पहुँच प्राप्त करेंगे । उन्हें या तो निर्देशिका का स्वामी होना चाहिए या निर्देशिका समूह से संबंधित होना चाहिए:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

तो, एलेक्स और बेन दोनों को लिखने की अनुमति देने के लिए some_dir, some_dirनिर्देशिका को consultसमूह से संबंधित होना चाहिए । यदि ऐसा नहीं है, तो निर्देशिका का स्वामी (आपके उदाहरण में एलेक्स), निम्न आदेश जारी करना चाहिए:

$ chgrp consult some_dir/

या निर्देशिका के अंदर सब कुछ के समूह स्वामित्व को बदलने के लिए:

$ chgrp -R consult some_dir/

यह तभी काम करेगा जब एलेक्स consultसमूह का सदस्य होगा , जो आपके उदाहरण में ऐसा लगता है।

यह एलेक्स को दो कारणों से एलेक्स के सभी निर्देशिकाओं तक पहुंचने की अनुमति नहीं देगा:

  1. एलेक्स की सभी निर्देशिकाएं consultसमूह की नहीं होंगी
  2. एलेक्स की कुछ निर्देशिकाएं consultसमूह से संबंधित हो सकती हैं, लेकिन एलेक्स ने rwxउन्हें समूह तक पहुंच की अनुमति देने के लिए नहीं चुना होगा।

संक्षेप में, उत्तर दोनों समूह के स्वामित्व और निर्देशिका के लिए निर्धारित समूह अनुमति बिट्स पर निर्भर करता है।

यह सब प्रदान किया जाता है आप अपने सिस्टम पर किसी भी अतिरिक्त अनिवार्य अभिगम नियंत्रण उपायों का उपयोग नहीं करते हैं ।


Consult_documents एक निर्देशिका है फिर आप इसे एक समूह के रूप में कैसे निर्दिष्ट कर सकते हैं?
बेबिन लोन्स्टन

@Babinlonston आप नहीं कर सकते। आप consultसमूह के रूप में निर्दिष्ट करें ।
जोसेफ़ आर।

धन्यवाद, मैं देख रहा था कि एक समूह को एक निर्देशिका तक पहुंच कैसे दी जाए। मुझे महसूस नहीं हुआ कि चंगप कमांड ऐसा कर सकता है। मैंने सोचा था कि किसी समूह में उपयोगकर्ताओं को जोड़ने / हटाने के लिए chgrp ही था।
एनाक

1
@anatak संशोधित समूह सदस्यता usermodनहीं के माध्यम से किया जाता हैchgrp
जोसेफ आर।

क्या यह भी ऐसा ही है chown -R :consult some_dir/ ?
आरोन फ्रेंके

7

यह एलेक्स और बेन को इस डायरेक्टरी में एक दूसरे को कोलैब्रेट करने के लिए बनाएगा, और वे दूसरे डेरे में नहीं जा सकते।

का उपयोग करके उपयोगकर्ता समूह को संशोधित करें

# usermod -a -G alex,ben alex

फिर फ़ोल्डर के लिए अनुमति बदलें

# chown alex:ben consult_documents

यहाँ जाँच करें मैंने इसे चारों ओर काम किया है

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

यहाँ एक नज़र है


6

अगर मैं आपके प्रश्न को सही ढंग से समझ पाया, तो इसका उत्तर हां है।

मुझे समझाने दो:

आपका फ़ोल्डर और फ़ाइल एक्सेस अधिकार तीन श्रेणी में विभाजित हैं:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

प्रत्येक फ़ाइल और फ़ोल्डर को उपयोगकर्ता के स्वामित्व में होना चाहिए।

जिसका अर्थ है, यदि आपके पास Consult_documents नाम का एक फ़ोल्डर है, और आप चाहते हैं कि यह समूह के सभी लोगों के परामर्श से सुलभ हो, तो आपके पास यह (755 अभिगम अधिकारों के साथ) होगा:

drwxrwxr-x Alex Consult [......]

निर्देशिका का स्वामित्व एलेक्स के पास है, और समूह परामर्श है। इस पर एलेक्स का आरडब्ल्यूएक्स एक्सेस अधिकार है। समूह परामर्श में इस पर आरडब्ल्यूएक्स पहुंच अधिकार है। अन्य उपयोगकर्ताओं के पास आरएक्स अधिकार हैं।

जैसा कि आपके उपयोगकर्ता एलेक्स में कई समूह हैं, आप के साथ साझा करने के लिए समूह चुन सकते हैं।

उदाहरण के लिए, यदि आपका फ़ोल्डर ग्रुप से एलेक्स एलेक्स के स्वामित्व में है:

drwxrwxr-x Alex Alex [......]

कर दो:

chown Alex:Consult your_folder

यह हो जाएगा:

drwxrwxr-x Alex Consult [......]

और फिर समूह परामर्श के लिए निर्देशिका उपलब्ध है।

कृपया ध्यान दें कि जहां तक ​​मुझे पता है, आप एक समूह जोड़ सकते हैं जो स्वामी के समूह में से एक नहीं है। लेकिन मुझे यकीन नहीं है कि यह अनुशंसित है (एक्सेस अधिकारों को पढ़ने के दौरान स्पष्ट नहीं है)।


3

setfacl -mg: डेबियन-ट्रांसमिशन: rwx -R / mnt / sra

चॉइस की जगह इस कमांड को अच्छा लगा जो पूरी तरह से फ़ाइल या निर्देशिका के मालिक को बदल देगा!

आप 'ls -Al' पर देखेंगे कि यह दिखाने के लिए कि एक से अधिक मालिक हैं , एक + चिह्न जोड़ा जाएगा!

drwxr-xr-x 2 रूट रूट 4096 नवंबर 8 19:11 sdc1 /

drwxrwxr-x + 3 रूट रूट 4096 फरवरी 17 19:16 सारा /

और फिर आप यह देखने के लिए getfacl का उपयोग कर सकते हैं कि कौन फ़ाइल या निर्देशिका लिख ​​या पढ़ सकता है!

# फ़ाइल: sra

# मालिक: जड़

# समूह: रूट उपयोगकर्ता :: rwx

समूह :: rx

समूह: डेबियन-प्रसारण: rwx

मुखौटा :: rwx

अन्य :: rx

डिफ़ॉल्ट: उपयोगकर्ता :: rwx

डिफ़ॉल्ट: समूह :: rx

डिफ़ॉल्ट: समूह: डेबियन-प्रसारण: rwx

डिफ़ॉल्ट: मुखौटा :: rwx

डिफ़ॉल्ट: अन्य :: rx

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