最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 目录执行权限的运用:Web 服务器目录安全加固
时间:2026-07-20 17:03:48 编辑:袖梨 来源:一聚教程网
目录执行权限(x)是Web服务器“进门”的必要条件,缺它会导致403错误;根目录推荐755,静态文件用644,上传目录须隔离并禁用脚本执行。
Web 服务器目录的执行权限(x)不是“让文件运行”,而是“让服务进门”——没有它,Nginx 或 Apache 连 index.html 都读不到,直接返回 403。
目录必须有 x 权限,否则进不去
Linux 中,目录的 x 权限决定能否 cd 进入、能否访问其下的文件。Web 服务器加载 PHP、读取 CSS、解析 HTML,全依赖这个“进门权”。哪怕所有文件都是 644,只要父目录没 x,请求就失败。
- 常规网站根目录建议设为 755(rwxr-xr-x):所有者可管理,Web 进程(如 www-data)可进入+读取,其他人同理
- 内网 API 或后台管理目录可用 750:组内可进可读,其他人完全无权访问
- 绝对避免 777、775 或 757:尤其当目录被 Web 服务直接解析时,攻击者可能上传并执行恶意脚本
文件权限要和目录“分工”匹配
PHP、HTML、JS、CSS 等不是可执行程序,它们由 Web 服务解释执行,自身不需要 x 权限。重点是确保 Web 进程能稳定读到内容。
- 静态资源与脚本文件统一用 644(rw-r--r--):所有者可编辑,Web 进程只读
- 真正需要执行的脚本(如部署钩子、CLI 工具)单独设为 755,且不能放在 Web 可访问路径下(如 /var/www/html/ 内)
- 配置文件(如 .env、config.php)建议 640,归属 root:www,禁止其他用户读取
归属权比 chmod 更关键
chown 没配对,chmod 再准也没用。Web 进程(nginx/php-fpm)必须属于目录所属组,且该组拥有对应权限。
- 典型命令:
sudo chown -R deployer:www /var/www/example.com - 确认 Web 进程用户:
ps aux | grep nginx或systemctl show nginx --property=UID - 避免 root 属主:敏感目录如 /var/www 应归普通部署用户 + 专用组(如 www),而非 root
上传与缓存目录必须隔离执行能力
/uploads、/cache 这类允许写入的目录是高危区。即使设为 755,也得从机制上禁掉脚本执行。
- Nginx 示例:
location ~ ^/uploads/.*.(php|pl|py|jsp|sh|cgi)$ { return 403; } - Apache 示例:
<Directory "/var/www/uploads"> php_flag engine off </Directory> - 目录本身权限建议 770(配合 SGID)或 750,确保只有开发组 + Web 进程可访问,不开放 world 写权限
相关文章
- iPhone17promax如何清理系统垃圾 07-21
- 漫蛙Manwa2漫漫看-Manwa2漫蛙 07-21
- 漫蛙官网入口免费下载安卓版-漫蛙漫画官网免费下载通道最新版 07-21
- 暖雪醉歌宗派技能加点攻略(打造最强暖雪醉歌宗派,技能加点一览) 07-21
- 逆战未来武器推荐指南 逆战高人气未来武器装备强度排行 07-21
- 超星网页版登录入口-超星学习通网页版登录平台 07-21