/var目录默认所有者为root,修改其为Apache是否安全?
绝对不建议修改/var目录的所有者为Apache
兄弟,先给你拍板:这么做既不可行,也极度不安全,千万别碰整个/var目录的所有者权限!
为什么不能改?
- 系统级风险拉满:/var是Linux系统的核心目录之一,里面装了大量系统服务依赖的文件和子目录——比如
/var/log是系统日志存储地、/var/lib放着数据库、缓存等关键数据、/var/spool管邮件、打印队列这些。把整个/var的所有者改成apache用户后,这些系统服务会因为权限不足或者权限混乱彻底罢工,轻则日志无法写入、数据库启动失败,重则整个系统直接瘫掉,排查起来头都大。 - 安全漏洞大开:apache是网站服务用户,本身权限就应该被严格限制。如果让它拥有整个/var的所有权,一旦你的WordPress被黑客攻破(比如插件漏洞、弱密码),黑客就能通过apache用户随意篡改系统日志销毁痕迹、甚至篡改系统关键文件植入恶意程序,相当于给了黑客整个系统的控制权,这完全是把服务器裸奔出去。
正确的WordPress权限配置方式
既然你已经把/var/www/html/domain.com的子目录所有者改成了apache,其实大可不必动上层目录,只需要针对WordPress实际需要写权限的目录做精细化设置:
- 核心文件保持只读:WordPress的核心文件(比如wp-admin、wp-includes目录,根目录的wp-config.php等)最好设置为所有者是root,组为apache,权限设为
755(目录)和644(文件),这样apache只能读取,无法修改,避免核心文件被篡改。 - 仅放开必要的可写目录:只有
wp-content/uploads(上传文件目录)、wp-content/plugins(如果需要在线安装插件)、wp-content/themes(如果需要在线安装主题)这几个目录需要让apache有写入权限。你可以把这些目录的所有者设为apache,或者用ACL给apache添加写入权限,比如:setfacl -R -m u:apache:rwx /var/www/html/domain.com/wp-content/uploads - wp-config.php额外加固:这个文件存着数据库密码等敏感信息,权限可以设为
600,只有root能读写,apache只需要读取的话也可以设为640,进一步降低泄露风险。
总之,权限配置的原则是最小权限原则——只给服务用户完成工作所需的最少权限,绝不能图省事就把大范围目录的权限放开,这是服务器安全的基本准则。
内容的提问来源于stack exchange,提问作者jsn888
相关产品推荐
相关产品推荐

