/var 目录的所有者?

/var 目录的所有者?

更改目录的所有者是否安全/var(默认所有者是 root)。 var 内的子目录是www/html/domain.com我已将 var 内所有目录的所有者更改为 Apache,因为我将安装与 apache 所有权一起使用的 wordpress。将/var所有者更改为 apache可以吗?

答案1

您希望 Web 服务器能够访问尽可能少的系统内容。我不会改变所有者任何文件或目录到apache.我会使用 ACL 或可能的组权限。但无论你选择什么方法来完成任务,你都应该限制你的范围。

有很多东西/var你的网络服务器不一定有读访问权限,更不用说写访问权限了,包括:

  • 来自应用程序的缓存数据(包括您的包管理器)
  • 锁定文件
  • 日志文件
  • 邮件和打印队列

鉴于此,我会离开一切首先处于默认的不可写状态。如果您发现某个特定文件或子目录需要要可写,请添加对该特定对象的写访问权限。遵循此策略,甚至您的文档根目录也/var/www可能保持不可写状态。

答案2

我做到了。这是一个可怕的错误。请记住,root 可能拥有 /var 中的所有目录,但是 /var/log/mysql 和 /var/lib/mysql 一样都属于 mysql,因此这样做会严重破坏您的系统,在尝试查看时会产生奇怪的效果记录并删除文件。

我所说的更改是指我使用以下方法对所有子目录进行了递归更改:

sudo chown -R root:root /var/*

千万不要这样做!

关于 apache2 你实际上应该使用:

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

原因是有时某些软件包将点文件 (.files) 存储在 /var/www 中,如果 apache2 没有 /var/www 的写入权限,则实际上不会发生这种情况。这是一个罕见的问题,不会影响每个人,但我已经看到它发生在 python Flask 上,几乎不可能找到调试问题。

相关内容