Linux 权限综合实战:警察土匪游戏完整实操教程

Linux 权限综合实战:警察土匪游戏完整实操教程
场景设定两组用户组police警察组、bandit土匪组用户分配警察jack、jerry默认归属 police 组土匪xh、xq默认归属 bandit 组任务流程创建两组、四个用户jack 创建123.txt权限属主读写、同组只读、其他无权限jack 修改文件权限同组读写、其他用户可读xh 投靠警察组测试读写权限分析权限失效原因修复权限让 xh 正常读写文件全程需要 root/sudo 权限执行所有用户、组创建命令。一、第一步创建用户组与用户1. 创建两个用户组# 创建警察组police sudo groupadd police # 创建土匪组bandit sudo groupadd bandit # 验证组是否创建成功 cat /etc/group | grep -E police|bandit2. 创建 4 个用户并绑定对应主组useradd -g 组名 用户名-g指定用户主组用户新建文件默认归属主组# 警察用户 sudo useradd -m -g police jack sudo useradd -m -g police jerry # 土匪用户 sudo useradd -m -g bandit xh sudo useradd -m -g bandit xq参数说明-m自动创建用户家目录复制/etc/skel环境文件-g设置登录默认主组3. 为所有用户设置登录密码sudo passwd jack sudo passwd jerry sudo passwd xh sudo passwd xq4. 验证用户分组信息# 查看jack的用户ID、主组、附加组 id jack # 查看xh分组 id xhgid 为主组groups 为全部所属组。二、任务 1jack 创建文件 123.txt设置权限属主 rw、组 r、其他无权限1. 切换 jack 用户su - jack输入 jack 密码进入 jack 家目录。2. 创建文件touch 123.txt # 查看默认权限 ls -l 123.txt3. 设置目标权限需求拆解属主 jack可读可写rw-→ 426同组 police 成员只读r--→ 4其他所有人无权限---→ 0 八进制权限组合640# 数字模式设置权限 chmod 640 123.txt # 等价符号模式写法 chmod urw,gr,o--- 123.txt4. 验证权限ls -l 123.txt # 输出示例 -rw-r----- 1 jack police 0 7月 8 10:00 123.txt权限测试验证1.同组 jerry 登录可读取文件无法修改写入su - jerry cat /home/jack/123.txt # 可读 echo test /home/jack/123.txt # 写入报错 Permission denied2.土匪 xq 登录完全无法访问文件su - xq cat /home/jack/123.txt # 权限拒绝三、任务 2jack 修改文件权限本组可读写、其他用户可读新权限规则属主rw不变同组 policerw-读写其他用户r--只读 对应八进制664执行修改# 切回jack用户 su - jack # 数字模式 chmod 664 123.txt # 符号模式推荐直观 chmod gw,or 123.txt权限校验ls -l 123.txt测试效果jerry同组可读可写xq/xh土匪其他用户仅能读取不能修改四、任务 3xh 投靠警察组测试读写权限1. 将 xh 加入 police 组附加组usermod -G 组名 用户名-G添加附加组不改变原有主组sudo usermod -G police xh # 查看xh分组 id xh注意修改附加组后必须重新登录 xh分组才会生效。2. 登录 xh 测试访问文件su - xh # 读取文件 cat /home/jack/123.txt # 尝试写入 echo 土匪投靠警察 /home/jack/123.txt现象读写全部报错 Permission denied核心原因分析重点考点文件123.txt权限为rw-rw-r--police 组拥有读写权限xh 属于 police 附加组文件权限本身允许 xh 读写报错根源jack 家目录 /home/jack 的目录权限限制执行查看目录权限ls -ld /home/jack # 默认新建用户家目录权限 drwx------目录权限drwx------含义仅 jack 本人拥有进入、读取目录的权限其他任何用户包括同组 police 的 xh/jerry都无法进入 /home/jack 目录自然无法访问内部文件。 目录权限规则x执行权限代表能否进入目录、查看目录内文件只有拥有目录x权限才能操作目录下文件。五、任务 4修改权限让 xh 正常读写文件两种解决方案任选其一即可。方案 1修改 jack 家目录权限开放组访问权限推荐切回 jack 用户修改目录权限su - jack # 赋予police组进入、读取目录的rx权限 chmod grx /home/jack # 查看目录权限 ls -ld /home/jack # 结果 drwxr-x--- 3 jack police ...目录权限解析urwxjack 完全控制grxpolice 组成员可进入、查看目录文件o---外人无权限重新登录 xh 测试su - xh cat /home/jack/123.txt echo xh加入警察组成功 /home/jack/123.txt六、拓展知识点主组 vs 附加组区别-g小写修改用户主组用户新建文件默认归属主组sudo usermod -g police xh执行后 xh 主组变为 police新建文件属组自动为 police-G大写添加附加组用户同时拥有多组权限但新建文件主组不变权限生效前提修改用户组后需要重新登录文件权限判断优先级先判断是否是文件属主→再判断是否属于文件属组→最后匹配其他用户。七、完整清理命令# 删除用户连带家目录 sudo userdel -r jack sudo userdel -r jerry sudo userdel -r xh sudo userdel -r xq # 删除用户组 sudo groupdel police sudo groupdel bandit八、实训小结Linux 文件三层权限属主 (u)、属组 (g)、其他 (o)用 rwx 与八进制数字控制用户分为主组、附加组usermod -g改主组usermod -G增加附加组目录 x 权限是关键没有目录执行权限即便文件开放读写也无法访问场景实操逻辑组用于批量授权多用户共享文件时统一分配组权限权限报错排查顺序先看目录权限再看文件本身权限最后核对用户所属分组。