CentOS / Redhat:为apache和vsftp提供文件许可

我在我的专用服务器上使用CentOS 5.5和Apache Web服务器。 我的文件夹“/ var / www / myWebApp”属于apache,所以apache可以读取,写入日志等。

但是现在我想用非常安全的FTP(vsftp)来上传我的新文件。 我曾经给每个用户rwx – 访问“/ var / www / myWebApp”,但我想这是不安全的方式。

在CentOS上,我创build了另一个上传文件的用户“ftpuser”,并在其主目录下有“/ var / www / myWebApp”。 我怎么能给他的权限写入“/ var / www / myWebApp”而不给每个用户相同的权利?

CentOS 5.5在默认情况下应该有文件系统ACL,只需使用setfacl赋予“ftpuser”权限:

 setfacl -R -mu:ftpuser:rwx /var/www/myWebApp 

如果以前从未使用过,请参阅setfacl / getfacl的手册页。

你可以把'ftpuser'放到apache组中,所以组级别权限将被应用,而不是'everyone'。

 usermod -G ftpuser,apache ftpuser 

这会将用户组更改为ftpuser和apache。

将两个用户合并到一个组中,并调整目录权限。 或者,只需在'apache'用户下运行vsftpd。