更改 Apache 中 html/ 文件夹的所有者是否安全?

更改 Apache 中 html/ 文件夹的所有者是否安全?

我知道如何使用 chmod 和其他东西,所以这不是问题。我有一台小型服务器 (Ubuntu LTS),上面运行着 Apache,其中有标准文件夹/var/www/html/。默认情况下,root 是该文件夹的所有者html/

问题:更改文件夹的所有者是否安全html/

答案1

更改文件的所有权是完全安全的/var/www,并且您可以根据需要编辑和更改该文件夹中的任何内容。

例如,如果用户tsmith需要能够写入文件,/var/www/myweb那么将这些文件的所有者设置为 是完全没问题的tsmith。或者,如果您愿意,保留所有者为 ,root并要求tsmithsudo 才能写入它们 - 如果您信任他/她使用 sudo。

如果您有多个用户需要能够编辑文件,而您不想授予他们 sudo,那么您也可以使用组成员身份,例如创建一个组并将用户添加到该组,然后设置组所有权和组写入相关文件,以使该组的成员能够修改这些文件。执行此操作时,您可能希望在chmod g+s dir包含目录中使用 SetGID 位()以确保新文件继承相同的组所有权,并umask 002在每个用户中~/.profile确保他们获得组写入权限,否则任何新文件都只能由其创建者编辑,而不能由该组的其他成员编辑。

然而你应该注意以下不良做法:

  • 不要将任何文件的所有权设置为www-data用户或www-data组(如果您授予组写入权限)。用户的全部意义www-data在于它是一个非特权用户,无法写入任何文件。可从外部网络访问的服务器守护程序(例如 Web 服务器)通常以非特权用户身份运行,因此,如果它们因漏洞而遭到黑客攻击,攻击者可以做的事情很少。

    例外:某些 Web 应用需要对某些文件和文件夹具有写访问权限,以实现附件存储等功能。在这些情况下,您应将所有权设置为www-data 仅有的对于这些文件,保持可写入的文件数量处于www-data最低限度。

  • 出于同样的原因,不要将任何文件设置为可全世界写入的。

  • 如果创建组,请不要重新利用现有的用户组(例如或adminsudo尤其是 )www-data,这些组在 Ubuntu 中已经有用途,因为如果这些组不打算写入文件,这可能会降低系统安全性。相反,请创建自己的组并向其中添加成员。

答案2

使用具有 root 权限(所有权或单一权限)的任何目录或文件都不太安全。对于静态 HTML 文件来说,这不是一个大的安全问题,但只要有运行脚本(PHP、JavaScript、任何表单等),您就会遇到严重的问题。

答案3

如果您只需要提供内容(html,图像等),则无需为中的目录/文件设置特殊所有权/var/www,只要 apache2 用户(www-data)有权访问该内容即可。

如果您需要做更多事情,您可能需要修改所有权。例如,如果您需要从 CMS(如 WordPress、Joomla 等)上传文件,则需要将上传目录的所有权更改为www-data(或至少向该用户授予写入权限)

我个人拥有/var/wwwroot用户拥有的 mod 1777(与 相同)以及拥有的/tmp网站(即:)目录。/var/www/site1www-data

希望能帮助到你!

相关内容