使用Apache服务器设置VSFTPD权限


8

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

我遇到的问题是,文件夹的所有者/var/www是用户apache,以便apache服务器能够读取文件。到目前为止,一切都很好。

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

Answers:


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


好答案。除了Apache是无法读取的文件,我上传的东西后user1,我跑以下命令:chown -R apache:www-users /var/wwwusermod -g www-users apacheusermod -g www-users user1chmod 775 /var/www。我想念什么吗?
Tek

可以将umask设置为拒绝其他人的读取权限;查看更改umask是否有帮助。
bwDraco 2011年

是的 那是其中的一部分。
Tek

10
如果有任何Google员工需要提示,请按照以下步骤操作。 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek

2
另外,尝试将setgid权限添加到目录:中chmod g+s /var/www。这将确保在目录内部创建的文件和目录归拥有该目录的组所有。
bwDraco
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.