Tôi đã tìm thấy Danh sách kiểm soát truy cập POSIX cho phép bạn, với tư cách là quản trị viên hệ thống, bảo vệ người dùng của bạn khỏi sự thiếu hiểu biết tồi tệ nhất của họ, bằng cách ghi đè quyền của hệ thống tệp nhóm người dùng thông thường, mà không có nhiều cơ hội phá vỡ mọi thứ quan trọng .
Chúng có thể đặc biệt hữu ích nếu bạn (ví dụ) các thư mục nhà cần thiết có thể truy cập được trên thế giới vì webcontent cần có thể truy cập được cho apache ~/public_html/
. (Mặc dù với ACL, giờ đây bạn có thể thực hiện ngược lại, xóa quyền truy cập cho tất cả và sử dụng ACL hiệu quả cụ thể cho người dùng apache.)
Có, một người dùng có kiến thức có thể xóa / ghi đè lại họ, chỉ là không phổ biến đến mức không thể, và những người dùng đó thường không phải là những người thuận tiện chmod -R 777 ~/
, phải không?
Bạn cần gắn hệ thống tập tin với acl
tùy chọn gắn kết:
mount -o remount,acl /home
Trong nhiều bản phân phối, mặc định là tạo các nhóm người dùng, mỗi người dùng có nhóm chính của họ và tôi đã đặt tất cả người dùng trong một nhóm thứ cấp với tên không thể tưởng tượng được users
.
Sử dụng ACL giờ đây không đáng kể để ngăn người dùng khác truy cập vào các thư mục chính:
Trước:
chmod 0777 /home/user*
ls -l /home/user*
drwxrwxrwx. 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx. 2 user2 user2 4096 Jul 11 15:24 user2
Bây giờ đặt quyền truy cập thư mục hiệu quả cho các thành viên của users
nhóm thành 0
không đọc, ghi hoặc truy cập:
setfacl setfacl -m g:users:0 /home/user*
ls -l
drwxrwxrwx+ 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx+ 2 user2 user2 4096 Jul 11 15:24 user2
Các +
dấu hiệu biểu thị sự hiện diện của các thiết lập ACL ở đó. Và getfacl
có thể xác nhận rằng:
getfacl /home/user1
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::rwx
group:users:---
mask::rwx
other::rwx
Chương group:users:---
trình cho thấy nhóm thực sự không có quyền truy cập, mặc dù có quyền thường xuyên cho người khácother::rwx
Và thử nghiệm như user1:
[user1@access ~]$ ls -la /home/user2
ls: cannot open directory /home/user2: Permission denied
Một giải pháp phổ biến thứ hai trên các hệ thống được chia sẻ là có các máy chủ tự động gắn kết các thư mục nhà theo yêu cầu một máy chủ dành riêng cho truy cập shell. Đó là xa bằng chứng ngu ngốc, nhưng thông thường chỉ một số ít người dùng sẽ được đăng nhập đồng thời có nghĩa là chỉ các thư mục nhà của những người dùng đó có thể nhìn thấy và có thể truy cập.
chmod files 0777
có thực sự cần thiết hay không, tức là giải quyết nguyên nhân gốc rễ của vấn đề, chứ không phải là triệu chứng mà bằng cách đó, bất kỳ ai cũng có thể đọc tệp của bất kỳ ai khác. Nhiều lần, tất cả các đề xuất cho phép chỉ đơn giản là một cách rẻ tiền để tránh các cuộc gọi hỗ trợ hoặc thiếu năng lực kỹ thuật trong việc có thể thiết lập quyền chính xác. Trong hầu như không có trường hợp nào tôi phải đặt tệp0777
hoặc cấp cho ứng dụng quyền truy cập root đầy đủ khi được yêu cầu. Giáo dục của người dùng và / hoặc nhà cung cấp giúp ồ ạt ở đây.