「Linux系列」6-权限设置
关键字:Linux 学习路线、工具、常识、目录结构等
摘要:包含 linux 的学习路线和前要基础知识。
一 文件的三个组
- 创建者(我):u
- 组(我家):g
- 其他组(别人家): o
查看用户所在组:
- 查看所有组:
cat /etc/group
- 仅查看具体的组
二 修改文件所有者和所在组
所有者
chown
- 将 hello.txt 文件的所有者修改为 cat :
chown cat hello.txt
- 将 animals 目录下所有文件和目录所有者改为 cat :
chown -R cat animal
- 将 hello.txt 文件的所有者修改为 cat :
所在组**( !!! )**
chgrp和usermod区别
- 将文件 hello.txt 的所在组修改为 Good :
chgrp Good hello.txt
- 将 animals 目录下所有文件和目录所在组改为 Good :
chgrp -R Good /home/box
- 将文件 hello.txt 的所在组修改为 Good :
- **将用户 pig 的组修改为 Good **:
usermod -g Good pig
Tips:一定要分清 chgrp 和 usermod 的区别!一个是修改文件的组,一个是修改用户的组!
【例子】
[1] 将 test.txt 文件的所有者改为 HL
chown HL test.txt
[2] 将 testbox 目录下所有文件和目录所有者改为 tom
chown -R HL /home/box
三 修改权限
rwx 权限结构(10位)
0:确定文件类型
- l :类型,相当于快捷方式
- d:目录,相当于文件夹
- c:
字符设备文件
,鼠标和键盘 - b:块设备,比如硬盘
1—3位:所有者对文件的权限【u】
4—6位:所在组对文件的权限【g】
7—9位:其他用户对文件的权限【o】
方法一:通过字母+、-、=修改权限
chmod 指令(
+
、-
、=
三种变更符号)chmod u=rwx,g=rx,o=x hello.txt
(u用户
、g用户组
、o其他人
、a所有人
)chmod o+rw hello.txt
chmod a-x hello.txt
【例子】
[1] 给 test.txt 文件,所有者读写执行权限,所在组读执行权限,其他组读执行权限。
·chmod u=rwx,g=rx,o=rx hello.txt
[2] 给 test.txt 文件,所有者除去执行权限,所在组增加写权限
chmod u-x,g+w test.txt
[3] 给 test.txt 的所有用户添加读的权限
chmod a+w test.txt
方法二:通过数字修改权限
r=4,w=2,x=1(rwx=4+2+1=7)
1 x
2 w
3 wx
4 r
5 rx
6 rw
7 rwx
【例子】
[1] 将 /test.txt 权限改为 rwxr-xr-x
chmod 755 test.txt
现在你知道 chmod 777 文件 是个什么意思了吧?
四 练习
游戏-1
【任务要求】
1、Police 组:Tom、Jack;Killer 组:XY、Joker
1、创建两个组
2、创建四个用户角色
3、警察Tom创建一个文件,自己可读写,本组警察可读,其他组无任何权限
rw- r– — 640
4、Tom 修改改文件,让其他组可读,本组人可写
5、XY 投靠警察阵容,看看是否可读写
【整理】
A1:改变用户组叛变的 chgrp 和 usermod 区别??
A2:虽然同在一个组,但是彼此无法进入彼此的 Home 目录大门
给了 Tom640 的权限,为何同组的 Jack 还是无法进入 Tom 的 home 目录?
650 也不行,只能 770 吗?
游戏-2
【任务要求】
1、建立两个组(Good组,Bad组)qgroupadd Good
groupadd Bad
2、建立四个用户(cat,dog)(pig,wolf)
useradd cat
useradd dog
useradd pig
useradd wolf
3、设置用户的密码
passwd cat :cat
passwd dog :dog
passwd pig :pig
passwd wolf :wolf
4、把猫狗放进 good 组,猪狼放进 bad 组
chgrp ??
usermod -g good cat
usermod -g good dog
usermod -g bad pig
usermod -g bad wolf
5、用 dog 建立一个文件 who.txt ,并 echo 输出
su dog
vim who.txt
6、文件给 cat 读写权限
chmod g+w who.txt
7、cat 修改一句话
vim who.txt
“I am a good cat!”
8、狼和猪没有权限
Wolf:cd /home/dog
Pig:cd /home/dog
9、把 pig 放入 good 组,修改文件并表明身份
vim who.txt
“I am a good pig!”
10、复盘和总结!
【复盘总结】
Q1: 错错错!!!!!, Chgrp good pig 是错误的!
A:chgrp
是移动文件所在组 ,usermod -g new old
才是移动分组!
Q2: 解决:“userdel: user xxxx is currently used by process xxx” 的问题
A:https://blog.csdn.net/qq_44653106/article/details/126442493