linux 中设置粘滞位权限

 

目录进行粘滞位设置,实现用户只能删除自己的文件,而不能删除别人的文件

文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限

 

001、

[root@pc1 home]# ls
liujiaxin01  liujiaxin02
[root@pc1 home]# whoami                 ## 当前用户
root
[root@pc1 home]# mkdir test_dir{1..2}
[root@pc1 home]# chmod 777 test_dir*    ## 赋予完全权限
[root@pc1 home]# ll                     ## 列出权限
total 0
drwx------. 6 liujiaxin01 liujiaxin01 154 Sep 18 21:16 liujiaxin01
drwx------. 5 liujiaxin02 liujiaxin02 128 Sep 18 21:16 liujiaxin02
drwxrwxrwx. 2 root        root          6 Sep 18 21:49 test_dir1
drwxrwxrwx. 2 root        root          6 Sep 18 21:49 test_dir2
[root@pc1 home]# chmod -R o+t test_dir1     ## 增加粘滞位权限
[root@pc1 home]# ll
total 0
drwx------. 6 liujiaxin01 liujiaxin01 154 Sep 18 21:16 liujiaxin01
drwx------. 5 liujiaxin02 liujiaxin02 128 Sep 18 21:16 liujiaxin02
drwxrwxrwt. 2 root        root          6 Sep 18 21:49 test_dir1    ## 其他人的执行权限由x变为t了
drwxrwxrwx. 2 root        root          6 Sep 18 21:49 test_dir2
[root@pc1 home]# echo "test" > test_dir1/a.txt     ## 分别在两个目录中创建文件
[root@pc1 home]# echo "test" > test_dir2/b.txt

 

002、

[liujiaxin02@pc1 home]$ ls
liujiaxin01  liujiaxin02  test_dir1  test_dir2
[liujiaxin02@pc1 home]$ whoami      ## 切换为其他用户
liujiaxin02
[liujiaxin02@pc1 home]$ cd test_dir1
[liujiaxin02@pc1 test_dir1]$ ls
a.txt
[liujiaxin02@pc1 test_dir1]$ cat a.txt
test
[liujiaxin02@pc1 test_dir1]$ rm -f a.txt     ## 在拥有粘滞位的目录中删除文件,不能删除
rm: cannot remove ‘a.txt’: Operation not permitted
[liujiaxin02@pc1 test_dir1]$ cd ../test_dir2/
[liujiaxin02@pc1 test_dir2]$ ls
b.txt
[liujiaxin02@pc1 test_dir2]$ cat b.txt
test
[liujiaxin02@pc1 test_dir2]$ rm -f b.txt       ## 在没有粘滞位权限的目录中删除其他用户的文件(root), 可以删除

 。

 

posted @ 2023-09-18 21:53  小鲨鱼2018  阅读(70)  评论(0)    收藏  举报