Đầu tiên tôi tạo một tệp và kiểm tra các quyền và tiêu chuẩn ACL của nó:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Sau đó, tôi đặt mặt nạ ACL trên tệp và kiểm tra lại các quyền và tiêu chuẩn ACL của nó:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Lưu ý rằng cùng với quyền của nhóm mặt nạ ACL trên tệp cũng thay đổi.
- Mối liên hệ nào tồn tại giữa mặt nạ ACL và quyền nhóm tiêu chuẩn?
- Lý do cho việc ghép mặt nạ ACL và quyền nhóm tệp là gì? Logic gì nằm đằng sau nó?
Các bản phân phối trong câu hỏi là Debian Linux 7.6 và CentOS 7
BIÊN TẬP
Tại thời điểm này tôi chỉ muốn chia sẻ một số phát hiện của tôi mà tôi đã đưa ra trong khi nghiên cứu mối quan hệ giữa các quyền của nhóm tệp tiêu chuẩn và mặt nạ ACL. Dưới đây là những quan sát thực nghiệm tôi tìm thấy:
Mặt nạ ACL có thể được thay đổi:
- bằng cách trực tiếp thiết lập nó bằng
setfacl -m m:<perms>
lệnh; - bằng cách thay đổi quyền của nhóm tệp bằng
chmod
lệnh (nếu mặt nạ ACL đã có sẵn; nó có thể không xuất hiện vì nó là tùy chọn nếu không có quyền ACL của người dùng hoặc nhóm được đặt tên trên tệp); - bằng cách thêm mục nhập ACL của người dùng hoặc nhóm được đặt tên (mặt nạ sẽ được tự động tính toán lại).
- bằng cách trực tiếp thiết lập nó bằng
Mặt nạ sẽ thực thi quyền truy cập tối đa (nếu có các mục ACL có quyền vượt quá quyền truy cập mặt nạ ACL) chỉ khi mặt nạ được đặt trực tiếp bởi setfacl hoặc bằng cách sửa đổi quyền của nhóm tệp bằng chmod (không được tính toán tự động). Mọi thay đổi đối với các mục ACL sẽ kích hoạt tính toán lại tự động mặt nạ ACL và tắt "chế độ thực thi" một cách hiệu quả.
Có một số tác dụng phụ ảnh hưởng ngầm đến quyền của nhóm tệp tiêu chuẩn khi sử dụng ACL:
- Mục nhập ACL của người dùng hoặc nhóm được đặt tên được áp dụng cho một tệp có thể thay đổi mặt nạ ACL (tăng quyền của nó) và do đó, quyền của nhóm tệp hiệu quả. Ví dụ: nếu bạn, với tư cách là chủ sở hữu tệp, có quyền "rw-r - r-- jim student" được đặt trên đó và bạn cũng cấp quyền rw cho người dùng "jack", bạn cũng sẽ cấp quyền rw cho bất kỳ ai từ nhóm "sinh viên".
- Mặt nạ ACL nghiêm ngặt hơn (ít quyền hơn) có thể xóa vĩnh viễn quyền truy cập nhóm tệp tiêu chuẩn tương ứng. Ví dụ: nếu bạn có một tệp có quyền truy cập nhóm tệp chuẩn rw và bạn áp dụng mặt nạ ACL chỉ đọc cho tệp thì quyền của nhóm sẽ giảm xuống chỉ đọc. Sau đó, nếu bạn xóa tất cả các mục ACL mở rộng (bằng
setfacl -b
lệnh), các quyền của nhóm sẽ ở chế độ chỉ đọc. Điều này chỉ áp dụng cho mặt nạ ACL chặt chẽ hơn, mặt nạ ACL mềm hơn (nhiều quyền hơn) không thay đổi vĩnh viễn quyền của nhóm tệp gốc sau khi bị xóa.