การอนุญาตให้กลุ่มอ่าน - เขียนเข้าถึงไดเรกทอรี


39

ฉันมีผู้ใช้สองคนคือ user1 และ user2 ที่เป็นสมาชิกของ groupA user2 มีโฟลเดอร์ในโฮมไดเรกทอรีซึ่งเรียกว่า folderA หากพวกเขาต้องการอนุญาตให้อ่าน - ดำเนินการอนุญาตสำหรับสมาชิกทั้งหมดของ groupA พวกเขาจะทำอย่างไร

จะเกิดอะไรขึ้นถ้า folderA มีไฟล์จำนวนมากและโฟลเดอร์เพิ่มเติมที่จำเป็นต้องได้รับอนุญาตให้ทำการ

ข้อมูลเกี่ยวกับกลุ่มเป็น 'ขาด ๆ หาย ๆ ' เล็ก ๆ น้อย ๆ ทั่วทั้งเว็บดังนั้นฉันวางคำถามของฉันที่นี่ด้วยความหวังว่ามีคนโพสต์คำตอบที่ชัดเจนที่อาจช่วยให้ผู้อื่นออกมาด้วย

ขอบคุณ!

คำตอบ:


55

FolderA จะต้องเป็นส่วนหนึ่งของ groupA ก่อน - เจ้าของหรือรูทของโฟลเดอร์สามารถทำการดำเนินการนี้ได้

chgrp groupA ./folderA

จากนั้น groupA จะต้องมีสิทธิ์ rwx ของโฟลเดอร์

chmod g+rwx ./folderA

มีตัวเลือกในคำสั่ง chgrp และ chmod เพื่อเรียกเก็บเงินคืนในไดเรกทอรีหากจำเป็น


หมายเหตุ: คุณควรตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงไดเรกทอรีกลางได้ด้วย (+ x อาจเพียงพอ)
jfs

2

ประสบการณ์ของฉันในบริเวณนี้ที่นี่ เดิมวิธีการ ทดสอบบน Ubuntu 18.04

อนุญาตให้เขียนในโฟลเดอร์ระบบ

ให้สิทธิ์เขียนไปยัง/etc/nginx/โฟลเดอร์

# Check 'webmasters' group doen't exist
cat /etc/group | grep webmasters
# Create 'webmasters' group
sudo addgroup webmasters
# Add users to 'webmasters' group
sudo usermod -a -G webmasters username
sudo usermod -a -G webmasters vozman
sudo usermod -a -G webmasters romanroskach

# Group assignment changes won't take effect
# until the users log out and back in.

# Create directory
sudo mkdir /etc/nginx/
# Check directory permissions
ls -al /etc | grep nginx
drwxr-xr-x   2 root root     4096 Dec  5 18:30 nginx

# Change group owner of the directory
sudo chgrp -R webmasters /etc/nginx/
# Check that the group owner is changed
ls -al /etc | grep nginx
drwxr-xr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Give write permission to the group
sudo chmod -R g+w /etc/nginx/
# Check
ls -al /etc | grep nginx
drwxrwxr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Try to create file
sudo -u username touch /etc/nginx/test.txt  # should work
sudo -u username touch /etc/test.txt  # Permission denied

ให้สิทธิ์เขียนไปยัง/etc/systemd/system/โฟลเดอร์

# List ACLs
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

# Add 'webmasters' group to an ACL
sudo setfacl -m g:webmasters:rwx /etc/systemd/system

# Check
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
group:webmasters:rwx
mask::rwx
other::r-x

sudo -u username touch /etc/systemd/system/test.txt  # should work
sudo -u username touch /etc/systemd/test.txt  # Permission denied
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.