setgid与setfacl的结合,能够解决apache/nginx自动生成的文件导致ftp用户删除时权限不足的问题。
需求这样的:
1:ThinkPHP框架运行时生成Runtime(755)文件,文件权限所有者为apache:apache用户、组。
2:而ftp用户已属apache组用户,因为Runtime文件夹的所有组(不可写),所以此文件夹下面的文件无法被ftp用户删除,而开发的时候又需要实时的删除缓存文件来使更改生效。
关于两个命令的讲解建议观看另两篇文章:
这里是执行setgid以后的目录效果:
#chmod g+s Runtime/
#setfacl -m d:g:www-data:rwx Runtime/
然后
#getfacl Runtime
现已完全okay,ftp用户可以完全删除项目框架运行生成的缓存文件
。
转载于:https://blog.51cto.com/laok8/1883003