2013-06-20 59 views
0

我根据这篇文章 https://help.ubuntu.com/community/ApacheMySQLPHP 已经安装Apache和我在/etc/apache2/sites-available/mysite 创建了一个新的网站配置,改变了文档根目录:Apache和VSFTP文件权限

DocumentRoot /home/gapton/public_html 
<Dictory /> 
.. 
.. 
</Directory> 
<Directory /home/gapton/public_html/> 
... 
... 
... 
... 
</Directory> 

,我sudo a2dissite default && sudo a2ensite mysite到禁用并启用它们,重新启动apache2,事情正在工作。

我然后设置VSFTPD和vsftpd.conf文件CONFIG到:

local_enable=YES 
write_enable=YES 

经由记事本与用户gapton'连接++和我创建了一个home/gapton/public_html下称为test.php文件。它似乎不能被Apache读取。我做了sudo chmod -R 755 ~/public_html,它会加载好。

但是,通过vsftpd创建的任何后续文件都不可读。

由于我通过FTP连接登录到唯一的帐户gapton,那么任何新创建的文件应该由gapton拥有吗?当apache尝试访问文件/文件夹位置时会发生什么,它通过什么凭据访问它?

如何配置它以便所有由gapton创建的文件都可以被apache读取? (另外,这是否可取?)

谢谢。

回答

1

我发现了这个问题。

较旧版本的vsftpd,他们申请时写的文件默认情况下是022

在当前版本中,这样的默认值已更改为077 umask的这款面膜读42和执行除业主以外的所有人均可使用1

vsftpd.conf文件中的umask值更改回022已解决了我的问题。希望这有助于vsftpd的未来用户面临同样的问题。