【前言】这3种特殊权限基本用不到,非常冷门,当作八卦听听就好
一、SetUID(用户)[4]
【功能】说人话就是:设置普通用户的一次性文件执行权限
1、只有可执行的二进制程序,才能设定SUID
2、执行者要有该程序有x执行的权限
3、命令执行者 一般是普通用户,在使用时间能赋予SUID的权限可能性
4、SUID权限只针对程序执行使用,就像windows的 获取管理员权限,这个动作只生效一次在执行程序时
一般情况下passwd执行程序,会有s权限的,所以都有超级管理员权限
设定SUID的方法:
第一种:chmod 4755 [文件名] 重新刷新: [S][用户][用户组][其他]
第二种: chmod u+s [文件名]
注意这边的大S说明没有任何作用,因为abc本身就没有x的能力;我们修改ooo看看变化就会发现ok
将其权限去除的方法:
第一种:chmod 755 [文件名]
第二种: chmod u-s [文件名]
【注意】基本不建议随意设定SUID,否则你会给自己找麻烦
二、SetGID(用户组)权限[2]
与UID不同,GID可以针对目录和文件同时作用;
和UID的区别是1个组,1个是用户。这次变身的是组
用的不多。
【逻辑】
1、locate是一个可执行二进制文件,可以被赋予SGID
2、用户xx对locate有执行权限
3、执行locate命令时,用户组身份会升级为slocate权限,所以可以执行locate命令查询数据库
4、查询结束后,xx用户身份组返回原有xx组。
添加SGID的方法
chmod 2755 [文件名]
chmod g+s [文件名]
删除SGID的方法
chmod 755[文件名]
Chmod g-s[文件名
操作偏冷门,知道就好,不深入学习。
三、sticky BIT(其他) [1]
黏着位权限
【作用】
1、只针对目录分配权限
2、普通用户对该目录有w和x的权限
3、如果普通用户有w权限,那么他可以删除目录下的所有文件,包含其他用户创建的文件,注意
对root用户无效,只对普通用户有效
添加SBIT的方法
Chmod 1755[目录名]
Chmod o+t[目录名]
取消SBIT的方法
Chmod 755[目录名]
Chmod o-t[目录名]