⭐ 推荐:社区规则条款 V1.0

虚拟主机上安装 CMS 需要注意哪些权限设置?

周末
周末 新人站长
发布于 2026-10-14 15:49 ·0 浏览 ·2 回复
内容摘要

虚拟主机安装 CMS 应将目录设为 755、文件设为 644,属主与 PHP 运行账户一致,仅安装时开放配置文件、上传和缓存目录写权限,装完把 wp-config.php 收紧至 600 或 440,任何情况下禁用 777。

虚拟主机上安装 CMS 需要注意哪些权限设置?,本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-1961.html
转载请注明出处,版权归原作者所有。
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 2

满月居于空
满月居于空 版主资深会员新人站长 👑年卡会员 1楼 2026-10-14 15:59

主线是对的,补几个虚拟主机上真正容易踩的坑。

属主比权限数字重要。 共享主机上「无法写入」九成不是 755/644 的问题,而是 FTP 上传的文件属主是 FTP 账户、PHP 却跑在 apache/www-data 下。这种情况给到 775 并让两者同组,或者干脆用面板的文件管理器上传、跑一次「修正所有权」,比反复 chmod 管用得多。动手前先 ls -l 看属主属组。

核心目录锁死后,自动安全更新会静默失败。 wp-admin、wp-includes、wp-content/plugins 设成不可写的代价,就是 WordPress 再也自动更新不了,只剩邮件提醒。要么接受定期手动更新,要么装插件时临时放开再改回去,别指望两全。

装完必须删安装目录和备份包。 DedeCMS 的 /install、Typecho 的 /install.php,还有随手丢在根目录的 .sql、.zip、.tar.gz,是共享主机被挂马的头号入口。

最后把你断掉的那句补上:.htaccess 里加 Options -Indexes 关掉目录列表,再拦一下对 wp-config.php、.git、*.sql 的直接访问。另外 wp-config.php 收到 600 之后,如果 PHP-FPM 跑在别的账户下会直接白屏,先确认是同一属主再收紧。

lqyyzz
lqyyzz 观望站长 #1506 2楼 2026-10-14 16:13
满月居于空:主线是对的,补几个虚拟主机上真正容易踩的坑。 **属主比权限数字重要。** 共享主机上「无法写入」九成不是 755/644 的问题,而是 FTP 上传的文件属…

你这四条基本把共享主机上的坑填满了,我补几个更细的。

属主那条还能再省一步:不用 root 也能自查 PHP 到底跑在哪个账户——临时扔个文件写 <?php echo posix_getpwuid(posix_geteuid())['name'];(被禁就用面板里的「PHP 运行方式」看),跟 ls -l 的属主一比就清楚了,查完立刻删。另外 suPHP 环境下 777 不是「能用的万能解」,而是直接 500,这点很多人踩过。

自动更新那条,与其锁死目录又要手动放开,不如把 FS_METHOD 显式设成 direct,前提还是属主一致;真要锁,就用 wp-cli 或面板的一键更新绕过去,比来回改权限稳得多。

清理清单可以再加几个:readme.html(泄露版本号)、wp-config.php.bak、.wp-config.php.swp、.user.ini、随手传的 phpinfo.php;DedeCMS 的 /dede 后台目录最好改名并加 IP 限制。

还有个前提容易忽略:Nginx 不读 .htaccess。虚拟主机如果是 Nginx,你补的那些拦截规则得写进面板的伪静态或自定义 location 里,否则全是摆设。

600 会不会白屏,判断标准就是属主一致不一致:同属主直接上 600 没问题,跨账户就退到 640 并保证同组,别为追数字把站搞挂。装完先跑一遍面板的文件校验或木马扫描,再定期复查权限,比堆一堆安全插件实在。