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

警察与土匪游戏

#!/bin/bash
# ========================
# 警察和土匪游戏 - Linux 权限练习
# ========================
echo "=== 开始创建组和用户 ==="
# 1. 创建两个组:police 和 bandit
sudo groupadd police
sudo groupadd bandit
# 2. 创建用户 jack, jerry 属于 police 组;xh, xq 属于 bandit 组
sudo useradd -g police jack
sudo useradd -g police jerry
sudo useradd -g bandit xh
sudo useradd -g bandit xq
# 给用户设置密码,方便后续切换测试
echo "jack:123456" | sudo chpasswd
echo "jerry:123456" | sudo chpasswd
echo "xh:123456" | sudo chpasswd
echo "xq:123456" | sudo chpasswd
echo "=== 组和用户创建完成 ==="
# ========================
# 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 的主组是 police)
sudo chown jack:police /home/jack/123.txt
echo "文件 /home/jack/123.txt 已创建,权限设为 640 (rw-r-----)"
# ========================
# jack 修改权限:让其它组人可以读,本组人可以读写
# ========================
echo "=== jack 修改权限:其他组可读,本组可读写 ==="
# 新权限:自己读写(rw-),本组读写(rw-),其他组只读(r--)
# 即:664 → rw-rw-r--
sudo chmod 664 /home/jack/123.txt
echo "权限已修改为 664 (rw-rw-r--)"
# ========================
# xh 投靠警察 —— 把 xh 加入 police 组
# ========================
echo "=== xh 投靠警察:加入 police 组 ==="
sudo usermod -aG police xh
echo "xh 已加入 police 组"
# ========================
# 测试 xh 是否能读写该文件
# ========================
echo "=== 测试 xh 是否能读写 /home/jack/123.txt ==="
# 尝试以 xh 身份读取文件
if sudo -u xh cat /home/jack/123.txt > /dev/null 2>&1; then
echo "✅ xh 可以读取文件"
else
echo "❌ xh 无法读取文件"
fi
# 尝试以 xh 身份写入文件
if sudo -u xh echo "test from xh" >> /home/jack/123.txt 2>/dev/null; then
echo "✅ xh 可以写入文件"
else
echo "❌ xh 无法写入文件"
fi
# ========================
# 如果无法读写,修改权限让 xh 可以读写
# ========================
echo "=== 若 xh 无法读写,则调整权限使其可读写 ==="

http://www.jsqmd.com/news/1145722/

相关文章:

  • OpenClaw v2.7.9 Windows 完整安装手册
  • okbiye|AI 自动生成演示文稿,打破传统 PPT 低效制作困局
  • 2026深度解析|考取PMP证书对职场升职加薪有用吗?真实价值与落地前景
  • claude-skills:345个专业技能框架如何提升AI编程助手领域能力
  • 召回率 benchmark:为什么你的向量搜索结果看起来还行但评测很差
  • Vivado升级后,老工程时序崩
  • okbiye 告别通宵做 PPT!AI 一键生成适配全场景演示文稿
  • 30天落地路线图:观远BI+ChatBI如何让业务人员一周内跑通第一个分析场景
  • 安卓云手机高清画质传输解析 桃心云画面显示功能选购指南
  • 虚拟角色对话系统设计:从技术原理到工程实践
  • 北京教育app软件定制开发公司怎么选择?10家服务商综合测评分析
  • 无人机飞行控制终极指南:Mission Planner完整入门教程
  • 青藏高原及邻区地质地理GIS边界矢量数据集
  • 慕斯杯铝箔做双线甜品如何分开记录?让包装跟上新、打包和展示一起落地
  • 抖音无水印下载工具:douyin-downloader完全指南,轻松保存你喜欢的短视频
  • 进一次洁净区,搞定四种PLC——Kepware多品牌异构设备互联与GMP合规落地
  • 商用烤盘定制厂家服务商推荐
  • 粉笔980适合应届生备考国考吗?毕业生怎么用系统课冲刺笔试
  • 2026年物业经理/物业项目经理培训机构TOP排名-全国正规机构深度评测
  • VisualCppRedist AIO:一站式解决Windows运行库问题的终极指南
  • 解放双手的智能管家:AhabAssistantLimbusCompany如何重塑游戏自动化体验
  • 华为SP380/SP333网卡在银河麒麟V10SP2 ARM的2种驱动安装路径与性能验证
  • 高速CANFD接口在空间遥感载荷数据总线中的适应性分析
  • WuWa-Mod:鸣潮游戏模组终极指南与实战应用
  • 影刀RPA 50个最常用的Python代码片段合集
  • iOS 电池性能优化 从能耗监控到应用省电的实践方法
  • OpenCV 4.8 图像去阴影实战:LAB空间3步法,文档阴影去除率达85%
  • 一次开发,多端高效协同:解码HarmonyOS SDK窗口的响应式设计哲学
  • 决策树 vs SVM vs NN:3种方法在6类通信干扰识别中的性能对比
  • 小微商户进销存数字化:零代码快速落地库存与记账一体化方案