当前位置: 首页 > news >正文

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

场景设定

  1. 两组用户组:police警察组、bandit土匪组
  2. 用户分配
    • 警察:jack、jerry(默认归属 police 组)
    • 土匪:xh、xq(默认归属 bandit 组)
  3. 任务流程
    1. 创建两组、四个用户
    2. jack 创建123.txt,权限:属主读写、同组只读、其他无权限
    3. jack 修改文件权限:同组读写、其他用户可读
    4. xh 投靠警察组,测试读写权限,分析权限失效原因
    5. 修复权限,让 xh 正常读写文件

全程需要 root/sudo 权限执行所有用户、组创建命令。

一、第一步:创建用户组与用户

1. 创建两个用户组

# 创建警察组police sudo groupadd police # 创建土匪组bandit sudo groupadd bandit # 验证组是否创建成功 cat /etc/group | grep -E "police|bandit"

2. 创建 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 xq

4. 验证用户分组信息

# 查看jack的用户ID、主组、附加组 id jack # 查看xh分组 id xh

gid 为主组,groups 为全部所属组。

二、任务 1:jack 创建文件 123.txt,设置权限:属主 rw、组 r、其他无权限

1. 切换 jack 用户

su - jack

输入 jack 密码,进入 jack 家目录。

2. 创建文件

touch 123.txt # 查看默认权限 ls -l 123.txt

3. 设置目标权限

需求拆解:

  • 属主 jack:可读可写rw-→ 4+2=6
  • 同组 police 成员:只读r--→ 4
  • 其他所有人:无权限---→ 0 八进制权限组合:640
# 数字模式设置权限 chmod 640 123.txt # 等价符号模式写法 chmod u=rw,g=r,o=--- 123.txt

4. 验证权限

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 denied

2.土匪 xq 登录:完全无法访问文件

su - xq cat /home/jack/123.txt # 权限拒绝

三、任务 2:jack 修改文件权限,本组可读写、其他用户可读

新权限规则:

  • 属主:rw(不变)
  • 同组 police:rw-(读写)
  • 其他用户:r--(只读) 对应八进制:664

执行修改

# 切回jack用户 su - jack # 数字模式 chmod 664 123.txt # 符号模式(推荐,直观) chmod g+w,o+r 123.txt

权限校验

ls -l 123.txt

测试效果

  1. jerry(同组):可读可写
  2. xq/xh(土匪,其他用户):仅能读取,不能修改

四、任务 3:xh 投靠警察组,测试读写权限

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

核心原因分析(重点考点)
  1. 文件123.txt权限为rw-rw-r--,police 组拥有读写权限,xh 属于 police 附加组,文件权限本身允许 xh 读写;
  2. 报错根源:jack 家目录 /home/jack 的目录权限限制执行查看目录权限:
ls -ld /home/jack # 默认新建用户家目录权限 drwx------

目录权限drwx------含义:仅 jack 本人拥有进入、读取目录的权限,其他任何用户(包括同组 police 的 xh/jerry)都无法进入 /home/jack 目录,自然无法访问内部文件。 目录权限规则:

  • x执行权限:代表能否进入目录、查看目录内文件;
  • 只有拥有目录x权限,才能操作目录下文件。

五、任务 4:修改权限,让 xh 正常读写文件

两种解决方案,任选其一即可。

方案 1:修改 jack 家目录权限,开放组访问权限(推荐)

  1. 切回 jack 用户修改目录权限
su - jack # 赋予police组进入、读取目录的rx权限 chmod g+rx /home/jack # 查看目录权限 ls -ld /home/jack # 结果 drwxr-x--- 3 jack police ...

目录权限解析:

  • u:rwx(jack 完全控制)
  • g:rx(police 组成员可进入、查看目录文件)
  • o:---(外人无权限)
  1. 重新登录 xh 测试
su - xh cat /home/jack/123.txt echo "xh加入警察组成功" >> /home/jack/123.txt

六、拓展知识点:主组 vs 附加组区别

  1. -g(小写):修改用户主组,用户新建文件默认归属主组;
    sudo usermod -g police xh
  2. 执行后 xh 主组变为 police,新建文件属组自动为 police;
  3. -G(大写):添加附加组,用户同时拥有多组权限,但新建文件主组不变;
  4. 权限生效前提:修改用户组后需要重新登录;
  5. 文件权限判断优先级:先判断是否是文件属主→再判断是否属于文件属组→最后匹配其他用户。

七、完整清理命令

# 删除用户(连带家目录) sudo userdel -r jack sudo userdel -r jerry sudo userdel -r xh sudo userdel -r xq # 删除用户组 sudo groupdel police sudo groupdel bandit

八、实训小结

  1. Linux 文件三层权限:属主 (u)、属组 (g)、其他 (o),用 rwx 与八进制数字控制;
  2. 用户分为主组、附加组,usermod -g改主组,usermod -G增加附加组;
  3. 目录 x 权限是关键:没有目录执行权限,即便文件开放读写也无法访问;
  4. 场景实操逻辑:组用于批量授权,多用户共享文件时统一分配组权限;
  5. 权限报错排查顺序:先看目录权限,再看文件本身权限,最后核对用户所属分组。
http://www.jsqmd.com/news/1154034/

相关文章:

  • Transformer Encoder 模块消融实验:残差连接与层归一化对 BERT 微调效果的 2 倍影响
  • 一文讲透 .NET 中的 AOP:什么是面向切面编程?原理是什么?
  • 网盘直链下载助手终极教程:免费获取九大网盘真实下载链接的简单方法
  • RFID打印中间件到底可以帮开发者做些什么
  • Glucose-PEG-DBCO 点击偶联体系:储存条件、投料策略及纯化操作避坑方案
  • 思源宋体TTF终极指南:7种字重免费商用完整解决方案
  • WarcraftHelper终极指南:3步让经典魔兽在现代电脑完美重生
  • 我的 MC 离线服被黑了——从顶号到炸服的完整日志复盘
  • AI办公效率飙升300%的关键,不是买硬件而是重构工作流:ChatGPT+Notion协同架构图首次公开
  • 看懂身份验证中的活体检测(一):动作活体
  • 如何快速配置鸣潮自动化工具:简单高效的完整指南
  • 【3大突破】ok-ww:重新定义游戏自动化体验的智能辅助工具
  • 二手服饰流通利润建模程序,限量潮款,奢品二手转售年化收益计算。
  • 3种大模型压缩技术选型指南:量化、剪枝、蒸馏的适用场景与精度权衡
  • 如何把AI率降下去?分享5个有效的降AI率方法!轻松降到0%
  • 抖音内容下载实战指南:douyin-downloader深度解析与高效方案
  • 如何高效构建手机号码归属地查询与地图定位系统
  • 手机号码定位查询系统:3步快速查询号码归属地
  • 部署本地 AI 总踩坑?Hermes 智能体一键整合包完整落地教程
  • 第十四篇:《Linux 安全加固与最小权限运维》
  • 体验家 XMPlus 移动端离线问卷与弱网优化:确保在任何网络条件下不丢失一条客户反馈摘要
  • Three.js sketchfab免费模型教程
  • APT、YUM与国产化适配:Linux软件安装的底层逻辑与实战指南
  • 一个文件夹搞定Codex长期项目管理,再也不用重新解释!
  • Windows Cleaner终极指南:3步解决电脑卡顿,开源工具让Windows重获新生!
  • WorkshopDL:解锁Steam创意工坊的全平台解决方案
  • TTS-Backup终极指南:3步轻松保护你的Tabletop Simulator珍贵数据
  • 3分钟快速上手:用Python通过手机号查询QQ号的完整指南
  • 爆炸女孩AI VLOG
  • 【注意力机制】AAAI 2026 | DCMM:度修正混合成员注意力模块,可微社区结构建模让医学影像分析更精准!