我需要通过apache服务用户在httpd创建的新文件上设置默认ACL,以便创建文件时将GUID设置为开发者用户帐户(调用devs)和特定权限。
看起来我的SGID工作得很好,因为PHP网页创建的任何文件都有apache所有者和开发者组。但不是拥有rwxrwx---
他们的ACL 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::---
该的data.txt文件经通过的httpd / apache中执行的PHP脚本创建的。所有权设置正确(apache / devs),但不是使用用户或组的可执行权限创建的。
该服务器正在运行CentOS版本6.9(最终版)
有任何想法吗?
谢谢!
rw-rw----
还是r--r-----
,但从来没有rwxrwx---
。没有真正计划将它留在那里,特别是在生产中。谢谢!