Câu trả lời:
Để thiết lập nhóm, cung cấp cho /var/www
các setgid bit:
chgrp www-data /var/www
chmod g+s /var/www
Để điều chỉnh các thư mục con: find /var/www -type d -exec chmod g+s {} +
Điều này sẽ làm cho tất cả các tệp mới được tạo kế thừa nhóm của thư mục mẹ, thay vì của người dùng.
Để đặt quyền nhóm mặc định, bạn sẽ phải sử dụng ACL . Đặt ACL "mặc định":
setfacl -m "default:group::rwx" /var/www
Để điều chỉnh các thư mục con: find /var/www -type d -exec setfacl -m d:g::rwx {} +
Lưu ý: Hệ thống tệp phải được bật hỗ trợ ACL. Đôi khi nó được bật theo mặc định; trên ext3 hoặc ext4 bạn có thể nhận được "Thao tác không được hỗ trợ", trong trường hợp đó, nó phải được bật thủ công:
Đối với một hệ thống tập tin hiện đang gắn kết: mount -o remount,acl /
Vĩnh viễn - một trong những phương pháp dưới đây:
ở cấp độ fstab: chỉnh sửa /etc/fstab
để có acl
trong trường tùy chọn
ở cấp hệ thống tập tin: tune2fs -o acl /dev/diskname
chmod
cũng sẽ nhận được tất cả các tệp.
install
, bằng cách nào đó quản lý để bỏ qua ACL mặc định của thư mục.
/var/www/html/projects
thư mục và khi dữ liệu www tạo một tệp thì nó có rw-rw-r
quyền nhưng khi tôi làm gì đó trong bảng điều khiển thì nó sẽ tạo một tệp rw-r--r
. Làm cách nào tôi có thể buộc các tệp được tạo mới luôn có rw-rw-r
quyền?
umask
. Các quyền mặc định cho mỗi thư mục có thể thay đổi bằng cách sử dụng setfacl
như trong bài viết chính.
Điều này có thể đã khiến một vài người mắc kẹt với câu trả lời 'grawity' trên setgid, nếu nhóm của thư mục khác với nhóm của bạn, bạn có thể cần chạy chmod với quyền root nhưng bạn sẽ không gặp phải bất kỳ lỗi nào cho thấy bạn cần phải làm điều này.
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set
Nhóm các tệp được tạo bởi người dùng là nhóm của người dùng đó (trong / etc / nhóm). Các quyền được kiểm soát bởi tham số UMASK xem điều này
stor
/appe
? Qua HTTPPUT
? Thông qua tài khoản shell? Những chi tiết này rất quan trọng, bởi vì chúng ảnh hưởng lớn đến các câu trả lời có thể, và cần phải nằm trong câu hỏi của bạn.