stick_bit 防删除位,防止别人删除自己的文件
注:它只作用于目录上,对文件没有什么意义
1、举例
[root@wy ~]# cd /tmp
[root@wy tmp]# mkdir 333
[root@wy tmp]# chmod 777 333
[root@wy tmp]# cd 333
[root@wy 333]# vi 12.txt
[root@wy 333]# cat 12.txt
;fjsfssfnvsf
lafsafsa;fs
sfksf
[root@wy 333]# ls -l 12.txt
-rw-r--r-- 1 root root 31 9月 20 22:53 12.txt
#切换到普通用户下
[root@wy 333]# su - wyy
[wyy@wy ~]$ cd /tmp/333
[wyy@wy 333]$ ls -l
总用量 4
-rw-r--r-- 1 root root 31 9月 20 22:53 12.txt
[wyy@wy 333]$ vi 12.txt
[wyy@wy 333]$ cat 12.txt
;fjsfssfnvsf
lafsafsa;fs
sfksf
1234
1233
解释说明:
这样竟然修改了root用户的文件,按正常的话,它的所属主、所属组是root,而作为一个普通用户wyy竟然能够更改这个文件,这个貌似是不太可能实现的东西,再查看一下这个文件,它的所属主、所属组已经发生了改变。
[wyy@wy 333]$ ls -l 12.txt
-rw-r--r-- 1 wyy wyy 41 9月 20 22:59 12.txt
为什么可以把root用户的文件修改呢,原因在于它所在的父目录333是可写的
[wyy@wy 333]$ ls -ld .
drwxrwxrwx 2 root root 4096 9月 20 22:59 .
解释说明:
也就是说一个目录下的文件你能不能删除,不取决于这个目录下的文件的属主、属组、还有它的权限是什么;而在于这个文件所在的目录的权限是否可写;目录可写,也就意味着我们可以删除这个目录下的任何文件;所以说当一个目录的权限为其他人可读、可写、可执行的时候,那么其他人就可以删除这个目录下的任何的文件,包括root的文件;既然这样,说明我们的系统存在着一定的漏洞,这样的话,能删除root的文件,也就可以删除其他普通用户的文件,这样会非常没有安全感。
2、防止别人删除
[root@wy 333]# chmod o+t .
[root@wy 333]# ls -ld .
drwxrwxrwt 2 root root 4096 9月 20 22:59 .
[root@wy 333]# ls -l
总用量 4
-rw-r--r-- 1 wyy wyy 41 9月 20 22:59 12.txt
[root@wy 333]# cp 12.txt 33.txt
[root@wy 333]# ls -l
总用量 8
-rw-r--r-- 1 wyy wyy 41 9月 20 22:59 12.txt
-rw-r--r-- 1 root root 41 9月 20 23:19 33.txt
#切换到普通用户下
[root@wy 333]# su - wyy
[wyy@wy ~]$ cd /tmp/333
[wyy@wy 333]$ ls
12.txt 33.txt
[wyy@wy 333]$ rm -rf 33.txt
rm: 无法删除"33.txt": 不允许的操作
说明:这就是加t权限的效果,防止其他用户删除自己的文件。