Linux WebServer,权限为755的文件夹不可写入

我运行一个新的Linuxnetworking服务器(Debian,Plesk)我想安装一些需要可写入文件夹的php应用程序,如果我设置文件夹权限到755仍然web应用程序不能写入文件夹,它只是接受777模式,怎么可以我configuration服务器接受755作为一个可写文件夹? 谢谢

编辑:这个线程帮我find一个Plesk 插件forum.parallels.com/showthread.php?t=106297

您需要将您要写入的目录chown给Web服务器正在运行的用户。 在命令行键入'top',看看webserver进程运行的是什么用户。 然后,在命令行中键入sudo chown。 这应该使目录可写入您的Web服务器755的权限。

Web服务器将在不同的用户/组合下运行,而不是您自己的。 因为755对于用户来说意味着rwx,对于组和其他(并且在大多数情况下服务器将落入“其他”),这意味着它不能写入文件夹。 如果你需要它写在那里,你必须允许写它。

还有一个使用ACL的选项(如果底层文件系统支持的话)。 像这样的东西:

[dado@liliput tmp]$ mkdir test [dado@liliput tmp]$ getfacl test # file: test # owner: dado # group: dado user::rwx group::rwx other::rx [dado@liliput tmp]$ setfacl -mg:apache:rwx test [dado@liliput tmp]$ getfacl test # file: test # owner: dado # group: dado user::rwx group::rwx group:apache:rwx mask::rwx other::rx [dado@liliput tmp]$ ll -d test drwxrwxr-x+ 2 dado dado 4096 Pro 10 17:48 test 

这将给apache组写权限,即使它通过“其他”权限。 注意表示设置了ACL的权限之后的+号。

另外,如果您的主机在启用SELinux的情况下运行(我不知道这是否适用于Debian,这是针对RHEL克隆的),即使应该允许,也可以获得权限问题 (这称为文件上下文 )

似乎,Web服务器在默认用户www-data下运行,而您的文件所有者是另一个用户。 所以networking服务器不能写。 如果你的web服务器是apache,有很多方法可以解决这个问题:1.使用apache2-mpm-itk,它允许为每个虚拟主机设置不同的用户。 2.在/ etc / apache2 / env文件中将默认www-data更改为您的用户,然后重新启动apache。 3.使用acl让www数据写入你的文件。

请记住,777在networking服务器上不是好主意。