Làm cách nào để đặt quyền truy cập tệp mặc định cho tất cả các thư mục / tệp trong một thư mục?


254

Tôi muốn đặt một thư mục sao cho mọi thứ được tạo trong đó (thư mục, tệp) đều kế thừa các quyền và nhóm mặc định.

Hãy gọi nhóm là "phương tiện truyền thông". Ngoài ra, các thư mục / tệp được tạo trong thư mục sẽ có g + rw tự động.


1
Không phải điều đó được kiểm soát bởi người dùng tạo tệp / thư mục mới và ô của anh ta sao?
Wadih M.

umask không liên quan đến quyền nhưng tôi không tin nó làm bất cứ điều gì với việc thiết lập một nhóm mặc định không phải là người dùng.
Chris

1
HĐH gì? Thẻ cần thiết. setfaclvà ACL mặc định không tồn tại trên AIX.
Amit N Nikol

Câu trả lời:


269

Tôi tìm thấy nó: Áp dụng quyền mặc định

Từ bài viết:

chmod g+s <directory>  //set gid 
setfacl -d -m g::rwx /<directory>  //set group to rwx default 
setfacl -d -m o::rx /<directory>   //set other

Tiếp theo chúng tôi có thể xác minh:

getfacl /<directory>

Đầu ra:

# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

5
Yay cho bit dính!
gabe.

22
Không nhầm lẫn gid với bit dính.
Amit N Nikol

10
g + s sẽ đảm bảo rằng nội dung mới trong thư mục sẽ kế thừa quyền sở hữu nhóm. setfacl chỉ thay đổi chmod, trong trường hợp của bạn, đặt quyền là o = rx
Steen Schütt

10
Lưu ý rằng ACL phải được bật (bao gồm một trong các tùy chọn gắn kết cho hệ thống tệp được gắn) để quyền truy cập tệp được kế thừa.
sg23

11
Thay vào đó, bạn có thể muốn xem xét sử dụng 'X' vì vậy nó sẽ chỉ đặt quyền thực thi đối với các thư mục không phải là tệpsetfacl -d -m g::rwX /<directory>
Adrian Gunawan

27

Đây là một bổ sung cho câu trả lời của Chris, nó dựa trên kinh nghiệm của tôi trên giàn Arch Linux của tôi.

Sử dụng công tắc mặc định (-d) và công tắc sửa đổi (-m) sẽ chỉ sửa đổi các quyền mặc định mà không giữ nguyên các quyền hiện có:

setfacl -d -m g::rwx /<directory>

Nếu bạn muốn thay đổi toàn bộ cấu trúc quyền của thư mục bao gồm cả cấu trúc quyền hiện có (bạn sẽ phải thực hiện thêm một dòng và làm cho nó đệ quy -R:

setfacl -R -m g::rwx /<directory>

ví dụ.

setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 

( CREDIT để markdwite trong các nhận xét cho synthax của dòng thu hồi tất cả các đặc quyền)


2
Để thu hồi các đặc quyền nhóm (làm ví dụ): sudo setfacl -d -mg :: --- / path
markdwhite

1
đó chỉ là một lỗi đánh máy chỉ định setfacl -R -m g::rwx /<directory>hai lần trong câu trả lời của bạn?
Shane Rowatt

0

Thêm chính bạn / người dùng đã đăng nhập vào nhóm dữ liệu www, để chúng tôi có thể làm việc với các tệp được tạo bởi máy chủ dữ liệu www

sudo usermod -a -G www-data $USER

Cần khởi động lại / relogin để nhóm mới được thêm vào có hiệu lực

cd /var/www

Thêm dữ liệu www làm thành viên nhóm của thư mục html và người dùng của bạn là chủ sở hữu, vì vậy chúng tôi sở hữu nó cũng như thành viên nhóm

sudo chown -R $USER:www-data html

Đặt tên người dùng của bạn thay cho NGƯỜI DÙNG

Đặt đọc, viết, thực thi quyền theo yêu cầu, (ugo) u = user, g = group, o = other

sudo chmod 750 html

Đặt GID của html, bây giờ, các tệp mới được tạo trong html sẽ kế thừa quyền sở hữu:

sudo chmod g+s html

Điều này tạo ra các quy tắc mặc định cho các tệp / thư mục mới được tạo trong thư mục html và thư mục con.

sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html

Tạo SELinux nếu được cài đặt, bỏ qua yêu cầu ngữ cảnh dữ liệu www để cho phép ghi quyền

sudo setsebool -P httpd_unified 1

danh sách thư mục để xem quyền mới được áp dụng

ls -ld html

Trả lại cái này

drwxrwsr-x+   3 html www-data

Dấu + + biểu thị rằng ACL, Danh sách điều khiển truy cập, được đặt trên thư mục.

Tham khảo : Liên kết đến diễn đàn


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.