2.18 特殊权限set_uid
2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件
2.18特殊权限set_uid
1 | [root@localhost ~]# ls -l /usr/bin/passwd |
可以看passwd的文件权限中有s 这个s就是特殊权限set_uid
set_uid作用是为了让普通用户去执行二进制文件或者命令时候临时拥有root用户的权限
如何加上set_uid 或删除set_uid
1 | [root@localhost ~]# ll /usr/bin/ls |
1 | [root@localhost ~]# chmod u-s !$ ##为ls删除set_uid |
另一种为ls加上set_uid的方式1
2
3
4
5[root@localhost ~]# chmod u=rws !$
chmod u=rws /usr/bin/ls
[root@localhost ~]# !ll
ll /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
这里的S是因为没有x 添加上x 就可以变回s 但是S和s的区别不太
2.19特殊权限set_gid
添加和删除set_gid方法和set_uid一样1
2
3
4
5
6
7
8[root@localhost ~]# !ll
ll /usr/bin/ls
-rw-r-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
[root@localhost ~]# chmod g+s !$ ##为ls加上set_gid
chmod g+s /usr/bin/ls
[root@localhost ~]# !ll
ll /usr/bin/ls
-rw-r-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
1 | [root@localhost ~]# chmod g-s !$ ##为ls删除set_gid |
set_gid作用 作用在文件上是让普通用户临时拥有文件所属组的权限;作用在目录上时,在该目录创建子目录和子文件时的所属组和父目录保持一致
例子1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[root@localhost ~]# mkdir /tmp/kun11
[root@localhost ~]# chown :kun1 /tmp/kun11
[root@localhost ~]# ls -ld /tmp/kun11
drwxr-xr-x. 2 root kun1 6 3月 29 07:16 /tmp/kun11
[root@localhost ~]# mkdir /tmp/kun11/kun1
[root@localhost ~]# touch /tmp/kun11/kun1.txt
[root@localhost ~]# chmod g+s /tmp/kun11 ##为kun11目录添加set_gid
[root@localhost ~]# mkdir /tmp/kun11/kun2
[root@localhost ~]# touch /tmp/kun11/kun2.txt
[root@localhost ~]# ls -l /tmp/kun11/
总用量 0
drwxr-xr-x. 2 root root 6 3月 29 07:20 kun1
-rw-r--r--. 1 root root 0 3月 29 07:21 kun1.txt
drwxr-sr-x. 2 root kun1 6 3月 29 07:23 kun2
-rw-r--r--. 1 root kun1 0 3月 29 07:23 kun2.txt
可以看出kun2 和kun2.txt和父目录kun11的所属组是一致的
2.20 特殊权限stick_bit
stick_bit作用在目录时候防止其他用户删除自己的东西,root除外
1 | [root@localhost ~]# ls -ld /tmp/ |
再试试切换kun2去删除1.txt1
2
3[root@localhost ~]# su kun2
[kun2@localhost root]$ rm -f /tmp/1.txt
rm: 无法删除"/tmp/1.txt": 不允许的操作
2.21软链接文件
ln -s :类是快捷方式 占用空间小 可以链接文件,也可以链接目录 删除原文件报错
1 | [root@localhost ~]# ln -s /tmp/kun1/ /tmp/kun1.sort |
2.22硬链接文件
ln:和用来的文件大小一样 inod号也一样,不会占用空间 只能链接文件,不可以链接目录 删除原文件没影响
1 | [root@localhost ~]# ln /tmp/kun1/1.txt /tmp/kun1/ying_1.txt |
硬链接不可以链接目录1
2[root@localhost ~]# ln /tmp/kun1/
ln: "/tmp/kun1/": 不允许将硬链接指向目录
硬链接时 文件不能跨分区 比如/boot/下的文件不能硬链接到/下1
2[root@localhost ~]# ln /boot/initrd-plymouth.img /
ln: 无法创建硬链接"/initrd-plymouth.img" => "/boot/initrd-plymouth.img": 无效的跨设备连接