使用 Apache 服务器设置 VSFTPD 权限

Tek*_*Tek 8 permissions ubuntu

我有一个运行 Ubuntu 10.10 的虚拟机。我正在使用 Netbeans 并将文件上传到虚拟机上的 ftp。我正在使用 vsftpd。

我遇到的问题是,文件夹的所有者/var/www是用户apache,以便 apache 服务器能够读取文件。到现在为止还挺好。

但是当我尝试从 ftp 用户上传文件时,我无法上传user1。我知道问题是什么。我的问题是,如何为用户正确设置权限apacheuser1能够写入/读取 /var/www 目录中的所有文件?

bwD*_*aco 17

创建一个组www-users并使其成为 的组所有者/var/www。然后将用户apacheuser1组分配给组并将/var/www目录的权限设置为 775。这将允许组user1中的任何其他用户www-users读取和写入/var/www;它还可以更轻松地授权其他用户写入/var/www- 只需将用户分配到www-users组即可。

编辑:正确的权限/var/www是 2775,其中包括 setgid,以便内部的文件和目录/var/www继承/var/www.

  • 以下是万一任何谷歌员工需要提示的步骤。`1) 为 umask 0027 设置 vsftpd (/etc/vsftpd.conf) [local_umask=0027]` `2) 创建 www-users 组 (groupadd www-users)` `3) 添加用户到组 (usermod -a - G 组用户)` `4) 设置 apache 作为 www-users 组运行 (httpd.conf)` `5) chgrp www-users /var/www` `6) chmod 2775 /var/www` (10认同)
  • 另外,尝试向目录添加 setgid 权限:`chmod g+s /var/www`。这将确保在目录中创建的文件和目录归拥有该目录的组所有。 (2认同)