我们有时候会遇到apache有写入权限时,vsftpd又不能上传,反过来,vsftpd能上传,但apache又没有写入权限了。我们现在来看看如何解决这个问题。
解决的思路是,把ftp用户添加到apache用户组,并设置用户组有写入权限。
假设现在我们建有ftp用户为:admin,httpd进程以apache用户运行。
1、添加admin到用户组apache
- usermod -a -G apache admin
2、设置网站根目录/var/www的所有组为apache
- chown -R :apache /var/www
- 如果安有kloxo 目录为 /home/admin
3、设置网站根目录的权限为用户组有读写权限
- chmod -R g+rw /var/www
- 如果安有kloxo 目录为 /home/admin
最后还需要确认vsftpd的配置文件中的local_umask=002,这是使新上传的文件的用户组有写入权限。