权限管理
我们可以通过一下命令来了解Linux的用户权限;
Linux的用户权限真的涉及得非常好,让我们了解一下用户权限的知识吧;
let’s go go go~!
chmod命令:
- 作用:变更文件或者目录的权限
- 语法: chmod u±= rwx + 文件名
- ugo说明
#所有者、所属组、其他人的说明:
u 用户user,文件或目录的所有者。
g 用户组group,文件或目录所属群组
o 其它用户others
a 所有用户all,系统默认使用此项
- 加减等于的说明
#添加、减去、或者直接赋予的表示
+ 添加某些权限
- 取消某些权限
= 设置文件的权限为给定的权限
- 可读可写可执行
#权限的表示
r 表示可读权限
w 表示可写权限
x 表示可执行权限
- 特殊权限的说明
#三个特殊权限说明:
#s权限的说明:
设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位
#t权限的说明
t 只有目录或文件的所有者才可以删除目录下的文件
#选项说明 -R
-R 递归处理,将指令目录下的所有文件及子目录一并处理
- 案例说明–>设置可读可写权限
#设置其他人o+w 或者是o=rw权限
+ 表示直接加上写权限。
= 表示将其他用户权限设置为可读可写,如果以前还有可执行权限,现在也去掉。
#查看一下文件的权限
[root@Linux0 test]# ll a.txt
-rw-r--r-- 1 root root 16 9月 27 10:08 a.txt
#然后直接授权文件
[root@Linux0 test]# chmod o=rw a.txt
[root@Linux0 test]# ll a.txt
-rw-r--rw- 1 root root 16 9月 27 10:08 a.txt
#如果对于目录进行授权-->-R是递归授权
[root@Linux0 test]# ls -ld aa
drwxr-xr-x 2 root root 20 9月 27 10:09 aa
[root@Linux0 test]# chmod -R o=rw aa/
[root@Linux0 test]# ll -ld aa aa/*
drwxr-xrw- 2 root root 20 9月 27 10:09 aa
-rw-r--rw- 1 root root 18 9月 27 10:09 aa/aa.txt
- 如果权限过大就会产生危险;
- 将目录权限设置为其他用户可写,
- 这时普通用户是可以进入到目录中任意删除,修改文件名(即使不是自己的文件),
- 对文件的其他用户权限为不可写的文件也可以强制保存。
#优先修改aa目录的权限
[root@Linux0 test]# ll -ld aa
drwxr-xrw- 2 root root 20 9月 27 10:09 aa
#它是有w权限;那么使用liangjiawei用户可以进入直接修改root用户的文件
[liangjiawei@Linux0 ~]$ whoami
liangjiawei
##目前没有能够进入aa目录,因为test目录对他限制了
[liangjiawei@Linux0 ~]$ cd /test/aa/
-bash: cd: /test/aa/: 权限不够
#查看test目录的权限
[liangjiawei@Linux0 ~]$ ll -d /test/
drwxr-xr-x 7 root root 98 9月 27 10:29 /test/
#直接提权目录
[root@Linux0 test]# chmod o+w /test/
[root@Linux0 test]# ll -d /test/
drwxr-xrwx 7 root root 98 9月 27 10:29 /test/
#这时候切换这个liangjiawei用户就能够修改aa目录的名字
[liangjiawei@Linux0 ~]$ cd /test/
#可以直接修改
[liangjiawei@Linux0 test]$ echo aaa > a.txt
[liangjiawei@Linux0 test]$ cat a.txt
aaa
【o-w】将目录权限设置为其他用户不可写(目录默认权限755),这时普通用户就无法删除,修改文件名,但是如果文件本身有其他可写权限,还是可以写数据的。
- 总结:
- 父目录其他用户有可写权限,其下子文件不管有没有可写权限,均可强行写入,修改!
- 父目录其他用户没有可写权限,其下子文件只有可写才有写入权限,但不具备删除,修改文件名权限。
- 设置特殊权限,设置-t权限
- 是对目录设置特殊权限,用户只能删除自己的文件
#创建一个目录
#把test目录的权限变成777
[root@Linux0 test]# chmod 777 /test/
#然后再创建一个data目录
[root@Linux0 test]# mkdir data
[root@Linux0 test]# ll -ld data/
drwxr-xr-x 2 root root 6 9月 27 14:51 data/
#然后设置一个t权限
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxr-xr-t 2 root root 6 9月 27 14:51 data/
#把data目录提权到777
[root@Linux0 test]# chmod 777 data/
[root@Linux0 test]# cd data/
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxrwxrwt 2 root root 6 9月 27 14:59 data/
[root@Linux0 test]# ll root.txt
-rw-r--r-- 1 root root 0 9月 27 15:01 root.txt
#然后-->登录普通用户liangjiawei
#没法删除其他人的文件,只能删除自己的文件
[liangjiawei@Linux0 data]$ rm -rf root.txt
rm: 无法删除"root.txt": 不允许的操作
#同样的,liangjiawei的文件,也没法删除
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:💕立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!