警察与土匪游戏 📅 2026/7/8 5:12:43 #!/bin/bash# # 警察和土匪游戏 - Linux 权限练习# echo 开始创建组和用户 # 1. 创建两个组police 和 banditsudo groupadd policesudo groupadd bandit# 2. 创建用户 jack, jerry 属于 police 组xh, xq 属于 bandit 组sudo useradd -g police jacksudo useradd -g police jerrysudo useradd -g bandit xhsudo useradd -g bandit xq# 给用户设置密码方便后续切换测试echo jack:123456 | sudo chpasswdecho jerry:123456 | sudo chpasswdecho xh:123456 | sudo chpasswdecho xq:123456 | sudo chpasswdecho 组和用户创建完成 # # jack 创建文件 123.txt设置初始权限# echo jack 创建文件并设置权限 # 切换到 jack 用户创建文件sudo -u jack bash -c touch /home/jack/123.txt# 设置权限自己读写rw-本组人可读r--其他组无权限---# 即640 → rw-r-----sudo chmod 640 /home/jack/123.txt# 确保文件属主是 jack属组是 police因为 jack 的主组是 policesudo chown jack:police /home/jack/123.txtecho 文件 /home/jack/123.txt 已创建权限设为 640 (rw-r-----)# # jack 修改权限让其它组人可以读本组人可以读写# echo jack 修改权限其他组可读本组可读写 # 新权限自己读写rw-本组读写rw-其他组只读r--# 即664 → rw-rw-r--sudo chmod 664 /home/jack/123.txtecho 权限已修改为 664 (rw-rw-r--)# # xh 投靠警察 —— 把 xh 加入 police 组# echo xh 投靠警察加入 police 组 sudo usermod -aG police xhecho xh 已加入 police 组# # 测试 xh 是否能读写该文件# echo 测试 xh 是否能读写 /home/jack/123.txt # 尝试以 xh 身份读取文件if sudo -u xh cat /home/jack/123.txt /dev/null 21; thenecho ✅ xh 可以读取文件elseecho ❌ xh 无法读取文件fi# 尝试以 xh 身份写入文件if sudo -u xh echo test from xh /home/jack/123.txt 2/dev/null; thenecho ✅ xh 可以写入文件elseecho ❌ xh 无法写入文件fi# # 如果无法读写修改权限让 xh 可以读写# echo 若 xh 无法读写则调整权限使其可读写