stick_bit - o的特殊权限
stick_bit:防删除位。
文件能否被用户删除,主要取决于文件所在的目录是否对该用户有写权限,如果没有,这个目录下的文件该用户无法删除,同时也不能创建新的文件。如果希望用户在一个目录下只能创建,不能删除文件(用户自己创建的文件自己可以删除),就可以设置stick_bit位。设置完后,用户在目录下有写权限但是不能删除其他用户创建的文件。
只有文件的创建者和root可以删除。
删除一个文件看的是文件所在目录的操作权限,不是文件本身的权限。
语法
$ chmod o+t file #添加stick_bit位
$ chmod o-t file #删除stick_bit位
实例
目录/tmp/默认带有stick_bit位,只有root用户可以删除文件。
[root@lwz01 lwz]# ll -d /tmp/
drwxrwxrwt. 10 root root 4096 Aug 25 14:07 /tmp/
使用普通用户lwz在/tmp/下创建/22/3.txt文件并改成777权限。
[lwz@lwz01 tmp]$ mkdir 22
[lwz@lwz01 tmp]$ touch 22/3.txt
[lwz@lwz01 22]$ chmod 777 3.txt
切换到另一个普通用户lwz2,发现虽然有rwx权限,但只能修改3.txt,不能删除。
[lwz2@lwz01 22]$ ll
total 0
-rwxrwxrwx 1 lwz lwz 0 Aug 25 14:28 3.txt
[lwz2@lwz01 22]$ echo 11 >> 3.txt
[lwz2@lwz01 22]$ cat 3.txt
11
[lwz2@lwz01 22]$ rm 3.txt
rm: cannot remove ‘3.txt’: Permission denied