【跟韩工学Ubuntu第2课】第3章 用户、权限、sudo与PAM安全体系-005篇

发布时间:2026/5/17 18:47:56

【跟韩工学Ubuntu第2课】第3章 用户、权限、sudo与PAM安全体系-005篇 文章目录3.3 实战2文件与目录权限管理超级加厚扩写版3.3.0 本节定位3.3.1 底层原理内核到底如何判断“你有没有权限”3.3.2 内核视角rwx 本质是 9 个二进制位3.3.3 历史设计为什么 Unix/Linux 只用 rwx3.3.4 r/w/x 对文件 vs 目录99% 学习者在此翻车对普通文件对目录完全不同3.3.5 数字权限速查表教科书级3.3.6 特殊权限深度SUID / SGID / Sticky3.3.6.1 SUID4xxx3.3.6.2 SGID2xxx3.3.6.3 Sticky 粘滞位1xxx3.3.7 企业真实案例某互联网公司网站权限标准3.3.8 脚本自动化生产级权限批量加固可直接上线3.3.9 渗透测试视角权限漏洞是最容易被利用的入口3.3.10 权限安全加固脚本企业级3.3.11 文字版图文说明可直接做 PPT 插图3.3.12 高频面试题本节必考3.3 实战2文件与目录权限管理超级加厚扩写版3.3.0 本节定位本章权重最高、踩坑最多、面试最常问、生产最关键的一节。权限问题占 Linux 故障的 40% 以上服务起不来、无法写入、无法访问、越权泄露、被入侵。3.3.1 底层原理内核到底如何判断“你有没有权限”当你执行cat/data/test/file.txt内核会按固定顺序做 5 步判断一步不通过就直接拒绝检查进程的有效用户 IDEUID如果 EUID0root直接放行不检查任何权限。判断进程 EUID 是否等于文件的属主 UID是 → 使用所有者权限u判断进程 GID/附加组 是否匹配文件属组 GID是 → 使用属组权限g以上都不满足 → 使用其他用户权限o检查对应权限位是否允许操作读检查 r写检查 w执行/进入检查 x内核只认数字不认名字。权限判断本质是数字比较 位运算。3.3.2 内核视角rwx 本质是 9 个二进制位在内核中文件权限不是“rwxr-xr–”而是一个16 位的整数mode_t只存 0/1。标准定义从高位到低位S_IRUSR 00400 属主读S_IWUSR 00200 属主写S_IXUSR 00100 属主执行S_IRGRP 00040 属组读S_IWGRP 00020 属组写S_IXGRP 00010 属组执行S_IROTH 00004 其他读S_IWOTH 00002 其他写S_IXOTH 00001 其他执行chmod 755等价于0o755 00400|00200|00100 | 00040|00010 | 00004权限本质位掩码运算。3.3.3 历史设计为什么 Unix/Linux 只用 rwxUnix 之父 Ken Thompson、Dennis Ritchie 在 1970 年代设计时坚持Simple, stupid, but works.简单、笨但能用、稳定、快、不容易出漏洞。他们只定义三种最小必要权限读View写Modify执行/进入Access这 3 种权限组合已经能覆盖 99% 的企业场景。50 年未变证明其极度稳定。3.3.4 r/w/x 对文件 vs 目录99% 学习者在此翻车对普通文件r可以读取内容cat、less、tailw可以修改、覆盖、追加、清空x可以当作程序/脚本执行对目录完全不同r可以看到里面有什么文件lsw可以增、删、重命名、移动文件x可以进入目录cd可以访问内部文件超级重点目录没有 x 权限r 和 w 完全失效示例目录只有 r 没有 x → 你能看到文件名但打不开、进不去、读不了。3.3.5 数字权限速查表教科书级r4w2x1rwx 7rw- 6r-x 5r-- 4-wx 3-w- 2–x 1— 0生产最常用权限必须背熟644普通文件所有人可读仅属主可写755目录、程序600密钥、配置文件700个人家目录750团队目录、网站目录2750带 SGID 的团队共享目录1777公共临时目录/tmp3.3.6 特殊权限深度SUID / SGID / Sticky3.3.6.1 SUID4xxx只对可执行文件生效普通用户运行时临时变成文件所有者身份典型/usr/bin/passwd风险被攻击者利用提权chmod4755/path/to/bin3.3.6.2 SGID2xxx对目录最有用目录内新建文件自动继承目录的属组团队共享目录必备chmod2770/data/share3.3.6.3 Sticky 粘滞位1xxx公共目录防删除用户只能删自己创建的文件chmod1777/tmp3.3.7 企业真实案例某互联网公司网站权限标准/var/www/example.com 属主root:www-data 权限2750 SGID 可写可进入 文件权限640 日志目录/var/log/nginx 750 密钥目录/etc/ssl/private 700 密钥文件600严禁777属主为 root 但权限 644日志可写配置文件可被其他用户读3.3.8 脚本自动化生产级权限批量加固可直接上线#!/bin/bash# 批量加固网站目录权限WEB_DIR/var/www/html# 统一属主chown-Rroot:www-data${WEB_DIR}# 目录统一 2750带SGIDfind${WEB_DIR}-typed-execchmod2750{}\;# 文件统一 640find${WEB_DIR}-typef-execchmod640{}\;# 敏感配置只给 root 读chmod600/etc/supervisor/*.confchmod600/etc/ssh/sshd_config3.3.9 渗透测试视角权限漏洞是最容易被利用的入口攻击者最喜欢的 5 类权限错误777 目录/文件直接写木马、写后门、写计划任务可写的 /etc/passwd /etc/sudoers直接添加 root 权限用户过量 SUID 程序利用 find、vim、nmap 弹 root shell属主错误服务文件属主为普通用户改代码、改配置、偷数据日志可写清空入侵痕迹权限越松死得越快。3.3.10 权限安全加固脚本企业级#!/bin/bash# 权限安全加固# 1. 清理危险 SUIDchmod-s/usr/bin/wgetchmod-s/usr/bin/ncchmod-s/usr/bin/awkchmod-s/usr/bin/socat# 2. 关键系统文件只读chmod644/etc/passwd /etc/groupchmod400/etc/shadow /etc/gshadowchmod440/etc/sudoers# 3. 家目录禁止外人访问chmod700/home/*# 4. 禁止 /tmp 执行可选加固mount-oremount,noexec,nosuid,nodev /tmp3.3.11 文字版图文说明可直接做 PPT 插图【权限结构示意图】 - r w x r - x r - x └┬─┘ └┬─┘ └┬─┘ u g o 所有者 组 其他【目录权限逻辑】 有 x → 可以进入 有 r → 可以看列表 有 w → 可以增删文件 x 是基础没有 x一切无效【内核权限判断流程】 进程EUID0 → 直接放行 是文件所有者 → 用u权限 是文件所属组 → 用g权限 否则 → 用o权限3.3.12 高频面试题本节必考目录 x 权限到底是干嘛的为什么目录没有 x 就不能用SUID/SGID/粘滞位分别是什么、数字多少为什么生产不能用 777网站目录推荐权限是什么为什么文件 644 和 640 有什么安全区别内核权限判断顺序是什么

相关新闻