Nếu thư mục chính của người dùng smith
có các quyền sau:
$ ls -l /home/staff
drwxr-x--- 51 smith staff 4096 Sep 18 09:08 smith/
bằng cách nào đó, có thể ngăn anh ta thay đổi sự cho phép của thư mục nhà của anh ta thành 755 không?
Nếu thư mục chính của người dùng smith
có các quyền sau:
$ ls -l /home/staff
drwxr-x--- 51 smith staff 4096 Sep 18 09:08 smith/
bằng cách nào đó, có thể ngăn anh ta thay đổi sự cho phép của thư mục nhà của anh ta thành 755 không?
Câu trả lời:
Một cách là sử dụng các nhóm trên mỗi người dùng (tức là một nhóm cho mỗi người dùng) và sau đó đặt quyền truy cập thư mục gốc thành root: smith, mode 0770.
Một cách khác (hacky) là kịch bản này: Tạo một kịch bản kiểm tra tất cả các thư mục chính (lấy chúng thông qua setpwent () / getpwent ()) nằm dưới / home (ví dụ: không / root) và làm cho nó cảnh báo khi có sự khác biệt hoặc thay đổi các quyền tại chỗ.
Trước đây tôi đã từng làm điều đó trong một môi trường nhiều người dùng và làm việc trong nhiều năm như một cơ duyên.
Mong muốn của bạn chỉ khả thi nếu HĐH và hệ thống tập tin nghi vấn hỗ trợ tiêu chuẩn ACL được sử dụng bởi NTFS và ZFS và được NFSv4 chuẩn hóa.
Vì vậy, việc bạn có thể làm những gì bạn thích hay không phụ thuộc vào hệ điều hành và hệ thống tập tin.
Các quy tắc UNIX truyền thống là quyền sở hữu của người dùng đối với một thư mục cũng cho phép thay đổi chế độ truy cập. Với ACL, bạn có thể từ chối người dùng thay đổi ACL trên thư mục của riêng mình.
setfacl
. Bạn làm điều đó như thế nào?
setfacl
tiêu chuẩn ACL. setfacl là một đề xuất của Sun và những người khác từ năm 1993 đã bị rút lại vào năm 1997 vì nó không đáp ứng được mong muốn của khách hàng. Tiêu chuẩn ACL được triển khai trong NTFS và ZFS và ACL có thể được sửa đổi bởi chmod, xem schillix.sourceforge.net/man/man1/chmod.1.html