การให้สิทธิ์การเขียนแก่กลุ่มในโฟลเดอร์


34

ฉันจะอนุญาตให้เขียนเป็น 1 กลุ่มได้อย่างไร
ฉันมีผู้ใช้ 2 คน ( alexและben)
alexเป็นสมาชิกของกลุ่มและของกลุ่มalex เป็นสมาชิกของกลุ่มและของกลุ่มconsult
benbenconsult

ฉันต้องการที่จะให้สิทธิ์ในการเขียนอ่านทั้งสองalexและที่โฟลเดอร์benconsult_documents

ถ้าฉันทำalexเจ้าของไดเรกทอรีconsult_documentsและฉันให้775เข้าถึงไดเรกทอรีconsult_documents, benและalexจะสามารถเข้าถึงโฟลเดอร์ที่ฉันคิดว่า

แต่นี่จะอนุญาตให้benเข้าถึงalexโฟลเดอร์อื่น ๆ ด้วยหรือไม่ หากผู้ใช้อยู่ในสองกลุ่มนั่นหมายความว่าสมาชิกทั้งหมดจากทั้งสองกลุ่มจะได้รับการอนุญาตแบบเดียวกันในทุกโฟลเดอร์หรือไม่?


คุณต้องการให้อเล็กซ์และเบ็นสามารถสร้างไฟล์ใน consult_documents และอนุญาตให้พวกเขาทั้งเข้าถึงแบบอ่าน / เขียนในเอกสารเหล่านั้นได้หรือไม่?
X Tian

คำตอบ:


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กลุ่ม หากไม่ใช่กรณีนี้เจ้าของไดเรกทอรี (alex ในตัวอย่างของคุณ) ควรออกคำสั่งต่อไปนี้:

$ chgrp consult some_dir/

หรือเปลี่ยนความเป็นเจ้าของกลุ่มของทุกสิ่งภายในไดเรกทอรี:

$ chgrp -R consult some_dir/

วิธีนี้จะใช้งานได้หาก alex เป็นสมาชิกของconsultกลุ่มซึ่งดูเหมือนจะเป็นกรณีในตัวอย่างของคุณ

สิ่งนี้จะไม่อนุญาตให้ ben เข้าถึงไดเรกทอรีของ alex ทั้งหมดด้วยเหตุผลสองประการ:

  1. ไดเรกทอรีของ alex ทั้งหมดจะไม่อยู่ในconsultกลุ่ม
  2. บางไดเรกทอรีของ alex อาจอยู่ในconsultกลุ่ม แต่ alex อาจไม่ได้เลือกที่จะอนุญาตให้rwxกลุ่มเข้าถึงพวกเขา

ในระยะสั้นคำตอบขึ้นอยู่กับความเป็นเจ้าของกลุ่มและบิตสิทธิ์กลุ่มที่กำหนดไว้สำหรับไดเรกทอรี

ทั้งหมดนี้ให้คุณไม่ต้องใช้มาตรการควบคุมการเข้าออกที่จำเป็นเพิ่มเติมในระบบของคุณ


Consult_documents เป็น Directory ดังนั้นคุณจะระบุเป็นกลุ่มได้อย่างไร?
Babin Lonston

@Babinlonston คุณทำไม่ได้ คุณระบุconsultเป็นกลุ่ม
โจเซฟอาร์

ขอบคุณฉันกำลังหาวิธีให้สิทธิ์การเข้าถึงไดเรกทอรีหนึ่งกลุ่ม ฉันไม่ได้ตระหนักว่าคำสั่ง chgrp สามารถทำได้ ฉันคิดว่า chgrp ใช้เพื่อเพิ่ม / ลบผู้ใช้ในกลุ่มเท่านั้น
Anatak

1
@anatak แก้ไขเป็นสมาชิกของกลุ่มจะทำผ่านusermodไม่ได้chgrp
โจเซฟอาร์

เป็นเช่นนี้chown -R :consult some_dir/หรือไม่
Aaron Franke

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 และคุณต้องการให้เข้าถึงได้จากทุกคนในกลุ่ม Consult คุณจะมีสิ่งนี้ (ด้วยสิทธิ์การเข้าถึง 755):

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

Alex เป็นเจ้าของไดเรกทอรีและกลุ่มคือ Consult อเล็กซ์มีสิทธิ์การเข้าถึง RWX Group Consult มีสิทธิ์การเข้าถึง RWX ผู้ใช้รายอื่นมีสิทธิ์ RX

เนื่องจากผู้ใช้ของคุณ Alex มีหลายกลุ่มคุณสามารถเลือกกลุ่มที่จะแชร์

ตัวอย่างเช่นหากโฟลเดอร์ของคุณเป็นเจ้าของโดย Alex จาก groupe Alex:

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

ทำมัน:

chown Alex:Consult your_folder

มันจะกลายเป็น:

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

จากนั้นไดเรกทอรีจะพร้อมใช้งานสำหรับกลุ่ม Consult

โปรดทราบว่าเท่าที่ฉันรู้คุณสามารถเพิ่มกลุ่มที่ไม่ใช่กลุ่มของเจ้าของได้ แต่ฉันไม่แน่ใจว่าจะแนะนำ (ไม่ชัดเจนเมื่ออ่านสิทธิ์การเข้าถึง)


3

setfacl -mg: debian-transmission: rwx -R / mnt / sra

พบคำสั่งนี้ดีแทนที่จะเป็นchownที่จะเปลี่ยนเจ้าของไฟล์หรือไดเรกทอรีอย่างสมบูรณ์!

คุณจะเห็นข้อความ 'ls -Al' ที่เครื่องหมาย+จะถูกเพิ่มเพื่อแสดงว่ามีเจ้าของมากกว่าหนึ่งราย!

drwxr-xr-x 2 รูทราก 4096 8 พ.ย. 19:11 sdc1 /

drwxrwxr-x + 3 รูท 4096 ก.พ. 17 19:16 น.

จากนั้นคุณสามารถใช้getfaclเพื่อดูว่าใครสามารถเขียนหรืออ่านไฟล์หรือไดเรกทอรี!

# file: sra

# owner: root

# group: ผู้ใช้รูท :: rwx

กลุ่ม :: RX

กลุ่ม: เดเบียนส่ง: rwx

หน้ากาก :: rwx

อื่น ๆ :: RX

เริ่มต้นการใช้ :: rwx

ค่าเริ่มต้น: กลุ่ม :: RX

เริ่มต้น: กลุ่ม: เดเบียนส่ง: rwx

เริ่มต้น: หน้ากาก :: rwx

เริ่มต้น: อื่น ๆ :: RX

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.