FTP 和 Apache 权限问题

ray*_*ray 11 linux ftp file-permissions apache-2.2

我对哪个用户应该拥有我的 www 目录 - ftp 或 apache 有疑问?当设置为 ftp 用户时,用户可以添加、删除和轻松修改文件,但 php 文件系统操作会生成权限被拒绝的错误(当然因为它们要求用户是 apache)。但是,如果 www 目录被 chown 给 apache,ftpuser 将无法执行某些操作,例如文件修改和删除。有人遇到过类似的问题吗?有什么解决办法?谢谢

hob*_*ave 13

这就是团体的用途。

您可以将ftp用户添加到apache组中,反之亦然。或者,更好的是,您可以将它们添加到您专门为此目的创建的第三个组中。

例如

# groupadd mygroup
# useradd -G mygroup ftp
# useradd -G mygroup apache
# chown -R :mygroup /var/www
# chmod -R g+rw /var/www

这些命令执行以下操作:

  1. 创建新组“我的组”
  2. 将 ftp 用户添加到 mygroup
  3. 将 apache 用户添加到 mygroup
  4. 将 /var/www/ 内容的组所有权递归授予 mygroup
  5. 递归地授予组读写权限 /var/www/ 的内容

您只需要确保将来添加的文件属于“mygroup”组,并且具有 apache 和 ftp 的适当权限来读取/写入它们。

  • 将 "`find /var/www -type d -print0 | xargs -0 chmod g+s /var/www`" 与 002 的 umask 组合将确保 /var/www 中的新文件和目录继承适当的组和权限使该组具有 r/w 访问权限。许多 Linux 发行版现在默认使用 002 的 umask(默认为每个新用户创建一个新组的相同) (3认同)
  • 如果用户已经存在(在 CentOS 7 上),第 2 行和第 3 行将不起作用。在这种情况下使用`usermod`例如`usermod -G mygroup ftp` (3认同)