小皮面板网站目录权限该如何设置
照着做完,你能把站点从「403 Forbidden、上传失败、500 报错」里救出来,并且学会一套不会给服务器留后门的权限配置方法。
第一步:先弄明白权限是给谁设的
小皮面板 Linux 版的 PHP 是以 www 这个系统用户跑起来的,Nginx/Apache 通常也用 www。所以网站目录的「所有者」必须是 www,「所属组」也是 www,否则程序读写文件就会被系统拦下来。
Linux 权限用三位数字表示:第一位是所有者、第二位是同组用户、第三位是其他人。755 表示所有者可读写执行、其他人只能读和执行;644 表示只有所有者能写,其他人只读。记住一句话:目录用 755,文件用 644,这是绝大多数 PHP 程序的正确姿势。
注意:网上很多教程让你
chmod -R 777,这等于把服务器大门敞开,任何脚本都能改你的网站文件,是挂马的重灾区,坚决不要用。
第二步:找到站点的真实目录路径
登录小皮面板,左侧菜单点「网站」,在站点列表里找到你的域名,这一行有「根目录」一列,显示的就是真实路径,Linux 版默认形如 /www/wwwroot/你的域名。点这一列右侧的文件夹图标可以直接跳转到文件管理。
Windows 版小皮面板则在「网站」→ 站点右侧「管理」→「修改」里,能看到「网站目录」这一栏,默认一般是 D:\phpstudy_pro\WWW\你的域名。
第三步:在面板里用鼠标改一遍
左侧菜单点「文件」,进入 /www/wwwroot/你的域名。全选所有内容(Ctrl+A),右键选择「权限」,弹出对话框里填:
- 所有者:
www - 所属组:
www - 权限:
755 - 勾选「应用到子目录」
点确定。这一步会把整站目录和文件都设成 755,能解决 403 和大部分读取类报错。
注意:这样设完,文件也是 755,虽然能用,但不够规范。文件应该是 644,第四步会一次性修好。
第四步:用命令批量修正成标准权限(推荐)
第三步只是应急,接下来用 SSH 登录服务器(小皮面板左侧「终端」也能用),执行三条命令:
cd /www/wwwroot/你的域名
chown -R www:www .
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
第一行把整站所有者改成 www,第二行把所有目录设成 755,第三行把所有文件设成 644。执行完,权限就标准了。
第五步:只给「需要写入」的目录开写权限
网站跑起来后,上传图片、生成缓存这些操作需要写入权限。不要全站开,只开必要的目录,把它们设成 775:
chmod -R 775 /www/wwwroot/你的域名/wp-content/uploads
chown -R www:www /www/wwwroot/你的域名/wp-content/uploads
常见需要写权限的目录:
- WordPress:
wp-content/uploads - ThinkPHP:
runtime - Laravel:
storage、bootstrap/cache - 各类 CMS 的
data、cache、config目录
如果程序提示某个配置文件不可写(比如 config.php),临时给它 664 即可,装完记得改回 644。
第六步:Windows 版小皮面板的权限怎么给
Windows 没有 755/777 的概念,用的是用户账户授权。在文件资源管理器里右键网站目录 →「属性」→「安全」选项卡 →「编辑」→「添加」,输入 IIS_IUSRS(网站跑在 IIS 下)或 Everyone(网站跑在 Apache/Nginx 下),勾选「修改」和「写入」,确定后勾选「替换子容器和对象的所有者」再确定。
注意:Windows 版的小皮面板如果 PHP 是以 FastCGI 方式挂在 IIS 下,授权
IIS_IUSRS就够了;给Everyone虽然省事,但安全性更低,能用前者就别用后者。
第七步:验证是否生效
在网站目录里新建一个 test.php,内容写 <?php file_put_contents('t.txt','ok'); echo 'write ok';,浏览器访问 你的域名/test.php。显示 write ok 说明写权限正常;如果报 Permission denied,回到第五步检查目录所有者和 775 权限。测完记得删掉这个文件。
小结
- 网站目录所有者必须是
www(Windows 版是对应的 IIS/系统账户),这是 403 和 500 报错的头号原因。 - 标准权限:目录 755、文件 644,绝不用 777。
- 只有上传、缓存、日志这类目录才开 775 写权限,逐个开,不要全站开。
- 面板里改权限记得勾「应用到子目录」;命令行改权限记住
chown管所有者、chmod管读写执行。 - 改完一定用测试文件验证一遍,再删掉测试文件。
原文链接:https://www.gj0.com/thread-623.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。