我正在运行 Linux 网络服务器(apache2),但在不同用户之间修改文件时遇到了问题。最大的问题是通过 FTP 删除 apache/php 创建的文件时,我只是收到权限被拒绝的提示。我一直尝试将 ftp 用户和 apache 添加到同一个组,但没有成功。
这是我现在的设置:
nano /etc/group
->
root:x:0:
...some rows...
www-data:x:33:ftpdude,root
...more rows...
ftpdude:x:1000:
所有由 php 创建的文件的所有者均为 33,而通过 ftp 创建的文件的所有者均为 1000。
我甚至尝试过
www-data:x:33:ftpdude,root,www-data
但没有效果。
我设法使 php 创建的文件可删除的唯一方法是 chmod(file, 0777) 所有这些文件,但我真的不想/不应该这样做。我在这里没有理解什么?
答案1
将 ftp-user 添加到 www-data 组是可以的,但是您可能需要更改 apache 的默认 umask:
# echo umask 002 >> /etc/apache2/envvars
您能提供 php 创建的文件的 ls -la 的输出吗?