Tôi cần đặt ACL mặc định cho các tệp mới được tạo bởi httpd thông qua apache người dùng dịch vụ theo cách mà tệp được tạo với GUID được đặt thành tài khoản người dùng dev (cũng gọi đó là nhà phát triển ) và các quyền cụ thể.
Có vẻ như tôi đã có SGID hoạt động tốt, vì bất kỳ tệp nào được tạo bởi các trang web PHP đều có apache chủ sở hữu và nhà phát triển nhóm. Nhưng thay vì có ACL rwxrwx---
họ có rw-rw----
.
[root@webserver ~]# cd /var/www/html
[root@webserver html]# setfacl -Rb .
[root@webserver html]# chmod -R g+s .
[root@webserver html]# setfacl -Rdnm u:apache:rwx,g:devs:rwx .
[root@webserver html]# getfacl .
# file: .
# owner: apache
# group: devs
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:user:apache:rwx
default:group::rwx
default:group:devs:rwx
default:mask::rwx
default:other::---
[root@webserver html]# getfacl data.txt
# file: data.txt
# owner: apache
# group: devs
user::rw-
user:apache:rwx #effective:rw-
group::rwx #effective:rw-
group:devs:rwx #effective:rw-
mask::rw-
other::---
Các data.txt tệp được tạo thông qua tập lệnh PHP được thực thi bởi httpd / apache. Quyền sở hữu được thiết lập đúng ( apache / nhà phát triển ), nhưng nó không được tạo với các quyền thực thi cho cả người dùng hoặc nhóm.
Máy chủ của Gordon đang chạy phiên bản CentOS 6.9 (Final)
Có ý kiến gì không?
Cảm ơn!
rw-rw----
hoặc làr--r-----
, nhưng không bao giờrwxrwx---
. Không thực sự có kế hoạch để nó ở đó, đặc biệt là trong sản xuất. Cảm ơn!