我有一个使用POST(PHP)我的CMS上传function。 一切正常,但目录需要777设置,否则我会得到错误。
我想把这个下来,像644.我怎么能这样做?
这个设置是否在httpd.conf中?
确保Apache(httpd)拥有该目录。 这将允许Apache将文件放在那里,而不需要整个目录。
使用chown -R apache:apache /path/to/upload/dir
编辑:cyberx86指出,实际的PHP过程是什么将做文件的写作。 因此,PHP用户需要拥有目录的所有权来设置更多的限制性权限。 与Apache配对时,PHP实例通常是父进程的subprocess。
我认为最好的办法是用acl的。 您可以拥有nobody:nobody所拥有的目录,然后向用户表明您的应用程序运行时具有完全读写访问权限。
这将删除有权访问的组中的其他人员。 它将删除“其他”的接受
chown nobody:nobody /path/to/folder
然后删除“其他”function来查看文件夹。
chmod o-rx /path/to/folder
然后给任何用户写入读/写/执行该文件夹。
setfacl -m "u:apache:rwx" setfacl -m "u:yournormaluser:rwx"
然后将acl选项添加到fstab。
然后重新安装。
mount -o remount /var