我遇到的问题是apache无法通过PHP写文件(例如,写csv文件) - 我必须将文件权限更改为777并且它可以正常工作,但安全性非常差。我试图使用足够的权限来写,也许是664.出了什么问题?
Apache正在apache
上运行,而群组也是apache
。 /var/www/html
中的所有文件归root用户所有,并且组为web-content
我可以登录到FTP客户端并将文件读/写到/var/www/html
,没有任何问题。
我创建了一个名为intranet的ftp用户,这就是我所做的:
groupadd web-content
usermod -G web-content intranet
chown root:web-content /var/www/html
chmod o+rx /var/www/html
find /var/www/html -type f -exec chmod 0664 {} \;
find /var/www/html -type d -exec chmod 0775 {} \;
ls -la / var / www /
drwxrwxr-x. 4 root web-content 4.0K Sep 6 16:09 html
当我在FTP上传新文件时。
ls -la / var / www / intranet /
-rw-r--r--. 1 intranet intranet 0 Sep 6 17:42 test
答案 0 :(得分:2)
7 - owner bits, read/write/execute
5 - group bits, read/execute
5 - everyone else bits, read/execute
由于文件是755,因此只有所有者具有写入权限。您已将apache作为apache
运行,并且该文件归root
所有,因此所有者不匹配,并且您最终没有写入权限。
您可能希望将文件命名为apache:web-content
或至少root:web-content
,然后将文件设为575,以便组权限匹配。