案例1:警察和土匪游戏
police , bandit
jack, jerry: 警察
xh, xq: 土匪
- 创建组 police bandit
- 创建用户 jack,jerry,xh,xq
- 首先jack登录
- jack 创建一个abc.txt文件,自己可以读r写w,本组人可以读,其它组没任何权限
- jack修改该文件,让其实组人可以读,本组人可以读写
- xh投靠警察,看看是否可以读写
- 测试看看xh是否可以读写,xq是否可以,
- 就是如果要对目录内的文件进行操作,需要要有对该目录的相应权限。
案例2:文件权限管理练习
- 建立两个组(神仙(sx),妖怪(yg))
- 建立四个用户(唐僧ts,悟空wk,八戒bj,沙僧ss)
- 设置密码
- 把悟空,八戒放入妖怪 唐僧 沙僧 在神仙
- 用悟空建立一个文件 (monkey.java 该文件要输出 i am monkey)
- 给八戒一个可以 r w 的权限
- 八戒修改 monkey.java 加入一句话( i am pig)
- 唐僧 沙僧 对该文件没有权限把 沙僧 放入妖怪组
- 让沙僧 修改 该文件 monkey, 加入一句话 ("我是沙僧,我是妖怪!");
案例1:答案
- groupadd police groupadd bandit
- useradd jack useradd jerry useradd xh useradd xq
- passwd jack su - jack
- 这里要给jack有写的权限,要用root给都行,在root用户下执行,chmod u=rwx jack, touch abc.txt chmod 640 abc.txt
- chmod o+r,g+rw abc.txt
- usermod -g police xh
这边讨论的是xh,是否可以读jack创建的文件,因为之前他们不在同一个组中,所以没有任何权限,但xh到了警察这个组了,和Jack在同一个组中,那么就可以有读的权限,但是如果你是shell连接,要重新连接,因为shell有默认连接用户,而xq就没有权限任何权限。
对文件夹 rwx 的细节讨论和测试 !!!
x: 表示可以进入到该目录 , 比如 cd
r: 表示可以 ls , 将目录的内容显示
w: 表示可以在该目录,删除或者创建文件
案例2:答案
- groupadd sx groupadd yg
- useradd ts useradd wk useradd bj useradd ss
- passwd ts passwd wk passwd bj passwd ss 每写一个命令后面都要输入二次密码,
- usermod -g yg wk usermod -g yg bj usermod -g sx ts usermod -g sx ss
- su - wk touch monkey.java vim monkey.java 输入文本i am monkey
- chmod g+rw monkdy.java
- su - bj vim monkdy.java 后面加一句话 i am pig
- usermod -g yg ss
- su - ss vim monkey 后面再加一句 hahaha