Cho phép một nhóm Đọc-Viết Truy cập vào một thư mục


40

Tôi có hai người dùng, user1 và user2, cả hai đều là thành viên của nhómA. user2 có một thư mục trong thư mục chính của họ được gọi là thư mụcA. Nếu họ muốn cho phép quyền đọc-ghi-thực thi cho tất cả các thành viên của nhómA, họ sẽ làm điều này như thế nào?

Điều gì xảy ra nếu thư mụcA chứa nhiều tệp và thư mục bổ sung cũng cần phải có quyền đọc-ghi-thực thi?

Thông tin liên quan đến các nhóm là một chút 'đốm' trên web, vì vậy tôi đặt câu hỏi của mình ở đây với hy vọng ai đó đăng câu trả lời rõ ràng cũng có thể giúp đỡ người khác.

Cảm ơn!

Câu trả lời:


56

Trước tiên, FolderA sẽ là một phần của nhómA - chủ sở hữu hoặc thư mục gốc có thể thực hiện thao tác này

chgrp groupA ./folderA

Sau đó, nhómA sẽ cần quyền rwx của thư mục

chmod g+rwx ./folderA

Có các tùy chọn trong các lệnh chgrp và chmod để lặp lại vào thư mục nếu được yêu cầu.


lưu ý: bạn nên đảm bảo rằng bạn cũng có thể truy cập các thư mục trung gian (+ x có thể là đủ).
jfs

Ban đầu tôi đã thử chown :groupname ./foldervà điều đó không hoạt động - vì nó đã thay đổi nhóm, nhưng không cung cấp bất kỳ quyền hiệu quả nào
user230910

3

Kinh nghiệm của riêng tôi trong lĩnh vực này ở đây. Cách làm gốc . Đã thử nghiệm trên Ubuntu 18.04.

Cho phép ghi vào thư mục hệ thống

Cho phép ghi vào /etc/nginx/thư mục.

# 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

Cho phép ghi vào /etc/systemd/system/thư mục.

# 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.