共享主机上的文件权限

共享主机上的文件权限

我在共享主机上,对文件权限有点困惑:

  • 我的网站目录 /home/user/www 归用户:nobody 所有
  • /home/user/www 内的所有内容均归用户所有:用户(?)

大多数人会告诉我,我必须做以下事情(总结):

chown -R user:nobody /home/user/www
find /home/user/www -type d -exec chmod 750 {} \;
find /home/user/www -type f -exec chmod 640 {} \;

但我无法“chown”任何东西,而且由于文件将归用户所有:用户,所以我不知道权限应该是什么。

我注意到我可以将一些 PHP 脚本 chmod 600,而 CSS 样式表需要可供全世界阅读..?

在这种情况下,我正在寻找最佳的安全方法!请不要告诉我我需要转移到专用服务器:那我为什么要问任何问题!?

答案1

站点子目录中的文件www应可供正在运行的 Web 服务器的有效用户 ID 读取。Apache Web 服务器通常以用户 nobody、组 nobody 或用户 www-data、组 www-data 的身份运行。因此,此用户或组需要读取权限。

如果 PHP 脚本写入文件,则这些文件需要由正在运行的 Apache 服务的有效用户 ID 写入。

具体如何安排取决于您的托管服务提供商。

如果网站是公开的,并且脚本不包含密码,没有可利用的安全漏洞(例如竞争条件),那么授予所有人读取权限可能没问题。我的目标是让所有文件都归您的个人用户 ID 所有,而不是归用户“nobody”或“user”所有。只有您应该对 www 子目录(及其子目录)中的文件具有写入权限。即使您的网站不包含任何个人或有价值的数据 - 您也不希望它被欺诈者或垃圾邮件发送者接管。

以下是一些有用的资源

相关内容