FTP 和 Apache 权限问题

FTP 和 Apache 权限问题

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

答案1

这就是团体存在的目的。

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

例如

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

这些命令执行以下操作:

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

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

答案2

您的大部分内容应归 apache 以外的用户所有。假设您使用 FTP 来更新内容,则可以将所有文件设置为归 ftp:apache 所有。我建议使用 SCP 进行 SFTP,而不是 ftp。文件应具有权限 644 或 640,目录应具有权限 755 或 750。

对于应用程序需要写入的文件和目录,添加组写访问权限。

答案3

我在构建 php 页面时遇到了类似的问题,它会以不同的名称复制服务器上的文件夹。我通过关闭 php 安全模式解决了这个问题。

相关内容