M22权限体系
谁能改什么
学完能写出一张权限矩阵,并实际阻止一次越权
01为什么重要
权限不是「能不能用」,是「出了事能不能查清是谁做的」。全员 root,日志里全是 root,等于没有审计。
02要讲清的 4 件事核心要点
- Linux 用户 / 组 / 文件权限位
- nginx 运行用户不可写代码目录
- sudo 白名单;GitHub 角色与分支保护;Deploy Key 只读
- 多站资源上限:磁盘、带宽、进程,一站被打爆不拖垮全机
03照着做:4 步操作顺序
- 排权限矩阵:谁能读、谁能写、谁不能碰
- 设目录属主与权限位(755 / 644)
- 给运维用户配 sudo 白名单
- 用低权账号试一次越权,确认失败
sudo -l -U deploy # 看这个用户能做什么 ls -ld /var/www/site # 看属主与权限位 namei -l /var/www/site/index.html # 逐级检查路径权限
04产出物与验收做完怎么算过
产出物
一张权限矩阵表
验收判据
可验用低权账号尝试改别人的 web 根目录,必须失败
05练习15 分钟内可做完
建一个只能读代码目录的用户,验证它能读不能写。
06最容易踩的坑
全目录 777 图省事
后果:目录 777,任何人都能改网站内容——包括被入侵之后的攻击者。
07自检表进度存在本机浏览器
0 / 6
08本讲术语全部 28 条
- 白名单部署:只上传清单里列出的文件,不是整目录覆盖。清单通常要维护两处,容易不同步。
- Deploy Key:只对单个仓库有效的部署密钥,通常设为只读。