Sticky权限是Linux特殊权限的一种,主要用来对公共目录的w权限进行限制。
注意事项:适用于目录,用来限制用户滥用写入权、其他人必须具备可执行权限、显示占用的是其他人的x位置。
实现此案例需要按照如下步骤进行。
步骤一:为/tarena/public/目录设权限777,并添加粘滞位
命令操作如下所示:
[root@localhost ~]# mkdir -p /tarena/public //创建多级目录
[root@localhost ~]# ls -R /tarena //递归查看目录结构
/tarena:
public
/tarena/public:
[root@localhost ~]# ls -ld /tarena/public //查看权限的划分情况
drwxr-xr-x. 2 root root 4096 2月 27 14:47 /tarena/public/
[root@localhost ~]# chmod 777 /tarena/public //设置权限为777
[root@localhost ~]# ls -ld /tarena/public //查看设置结果
drwxrwxrwx. 2 root root 4096 2月 27 14:47 /tarena/public/
[root@localhost ~]# chmod o+t /tarena/public //设置特殊权限t权限
[root@localhost ~]# ls -ld /tarena/public //查看设置结果
drwxrwxrwt. 2 root root 4096 2月 27 14:47 /tarena/public/
[root@localhost ~]#
步骤二:以用户zhangsan登入,在/tarena/public/目录下创建文件zhsfile2
命令操作如下所示:
[root@localhost ~]# id zhangsan //查看zhangsan用户是否存在
uid=500(zhangsan) gid=500(zhangsan) 组=500(zhangsan)
[root@localhost ~]# su – zhangsan //切换用户身份测试
[zhangsan@localhost ~]$ touch /tarena/public/zhsfile2
[zhangsan@localhost ~]$ ls -l /tarena/public //测试是否创建成功
总用量 0
-rw-rw-r--. 1 zhangsan zhangsan 0 2月 27 14:57 zhsfile2
[zhangsan@localhost ~]$
步骤三:以用户lisi登入,在/tarena/public/目录下创建文件lsfile2
命令操作如下所示:
[root@localhost ~]# id lisi //查看lisi用户是否存在
uid=503(lisi) gid=504(lisi) 组=504(lisi)
[root@localhost ~]# su – lisi //切换用户身份
[lisi@localhost ~]$ touch /tarena/public/lsfile2
[lisi@localhost ~]$ ls -l /tarena/public //测试是否创建成功
总用量 0
-rw-rw-r--. 1 lisi lisi 0 2月 27 15:03 lsfile2
-rw-rw-r--. 1 zhangsan zhangsan 0 2月 27 14:57 zhsfile2
[lisi@localhost ~]$
步骤四:查看文件zhsfile2、lsfile2的权限和归属
命令操作如下所示:
[lisi@localhost ~]$ ls -l /tarena/public/
总用量 0
-rw-rw-r--. 1 lisi lisi 0 2月 27 15:03 lsfile2
-rw-rw-r--. 1 zhangsan zhangsan 0 2月 27 14:57 zhsfile2
[lisi@localhost ~]$
步骤五:尝试删除zhsfile2、lsfile2文件(以lisi身份)
命令操作如下所示:
[lisi@localhost ~]$ whoami //查看当前用户身份
Lisi
[lisi@localhost ~]$ ls -ld /tarena/public //查看目录权限
drwxrwxrwt. 2 root root 4096 2月 27 15:07 /tarena/public/
[lisi@localhost ~]$ ls -l /tarena/public
总用量 0
-rw-rw-r--. 1 lisi lisi 0 2月 27 15:03 lsfile2
-rw-rw-r--. 1 zhangsan zhangsan 0 2月 27 14:57 zhsfile2
[lisi@localhost ~]$ rm -rf /tarena/public/lsfile2 //删除lisi自己文件
[lisi@localhost ~]$ rm -rf /tarena/public/zhsfile2 //删除其他用户的文件
rm: 无法删除"/tarena/public/zhsfile2": 不允许的操作