什么是"确保文件夹的所有者是Apache用户(主要是www-data)"?

时间:2015-08-21 17:26:33

标签: php apache

我在云服务器上安装了PHP脚本应用程序。 其中一个功能是" PDF预览",目前无法正常工作。

我联系了PHP脚本所有者,他让我确认: 1. dompdf / lib / font /文件夹具有写权限(777) 2.文件夹的所有者是Apache用户(主要是www-data)

对于第一个,我尝试直接在FileZilla界面中更改目录权限。但是在刷新后它总是变回775 ......

对于第二个,我不知道这意味着什么......我联系了我的云服务器服务的技术支持。他说这是与App有关的问题,而不是服务器。

反正可以给我一些方向吗?我应该使用SSH吗?或其他什么?

真的很感谢你的帮助......

埃林

3 个答案:

答案 0 :(得分:0)

如果您有SSH访问权限,则更容易。

1)SSH和CD进入您的网站目录(可能是public_html)

2)运行命令chmod -R 777 dompdf/lib/font/ 但是755的许可很可能......

3)运行ls -l。它可能看起来像这样:

-rw-r - r-- 1 erin erin 395 Aug 21 2013 index.php

第一个'erin'是用户,第二个'erin'是组。 可能有其他文件具有正确的组(例如www或apache)。尝试匹配public_html目录中的其他文件:

要更改所有者:chown apache dompdf/lib/font/

要更改群组:chgrp apache dompdf/lib/font/

如果您使用的是共享主机,则可能无法执行此操作。我猜它更可能是一个路径或配置问题,而不是权限问题,但请试一试。

答案 1 :(得分:0)

据我所知,您无法通过FTP更改文件/目录的所有者。你可以通过SSH。 更改文件权限的命令:     chmod 777 filename.php 要更改目录的权限:

chmod -R 777 dirname/

更改文件的所有者:

chown www-data filename.php

更改目录的所有者:

chown -R www-data dirname/

要更改文件组:

chgrp www-data filename.php

更改目录组:

chgrp -R www-data dirname/

使用上述命令更改文件权限和所有权时,请确保您位于文件目录中。否则你将不得不更新路径。

如果要更新目录,请确保位于要更新的​​目录之上。

希望这有帮助。

P上。 S.要查看文件或目录的当前权限/所有者/组,请使用ls -la命令。

答案 2 :(得分:0)

不要将数据库用户用作UNIX用户。使用www-data。

sudo chown -R www-data:www-data /var/www

数据库用户和Apache用户之间存在差异。 Apache用户是唯一可以实际读取文件的用户。数据库用户仅用于提供/获取数据库读/写权限。

此外,请保留webapp安装的默认权限。除了拥有用户/组外,不要更改它们。如果您受到webapp的指示,请更改权限。

如果您更关心安全性,可以改为运行以下命令:

sudo chown -R $USER:www-data /var/www

sudo chmod -R 640 /var/www

这使得您的用户拥有实际文件,因此只有您(和root)才能修改它们。引用www-data的原因是Apache仍然可以读取文件,但实际上并没有写入它们。

640允许您(文件所有者)进行读写,同时允许www-data组读取文件。它还阻止其他任何人阅读文件内容。

(以上只是一种可能的(未经测试的)方法。有更好的方法here。)