linux 系统基本权限位为9位权限位,但还有额外3位权限位,共12位权限: suid:s(有x) S 4 用户对应的权限位 (用户对应的权限位) sgid :s(有x) S 2 用户对应的权限位 (用户组对应的
linux 系统基本权限位为9位权限位,但还有额外3位权限位,共12位权限:
suid:s(有x) S 4 用户对应的权限位 (用户对应的权限位)
sgid :s(有x) S 2 用户对应的权限位 (用户组对应的权限位)
sticky :t(有x) T 1 用户对应的权限位 (其他对应的权限位)
chmod 4755 /bin/rm 设置rm命令权限为4755,就是把setuid设置好了
suid知识小结,是针对命令和二进制的
1)用户和属组对应的前三位权限x位上如果有s就表示suid的权限。
当x位上没有小写x执行权限的时候,suid的权限显示的就是大S。
2) suid作用是让普通用户可以以root(或其他用户角色运行root)(或其他) 账号才能运行的程序和命令,或程序命令对应本来没有权限操作的文件等
【suid和su与sudo的区别】 suid为某一个命令设置特殊权限(使用者为所有人)
举例:
当普通用户修改密码的时候,实际是修改/etc/shadow文件,但/etc/shadow文件权限示意图如下:
但当我们普通用户执行passwd命令修改密码的时候,却是可以修改成功的,
修改成功的原因就是passwd 具有超级用户权限,即使用户没有修改文件的权限,但可以借助该命令对文件进行修改。
即操作该命令的用户拥有该命令所属用户的权限
passwd 命令权限示意图如下
sgid 知识介绍
1 与suid不同的是,sgid即可以针对文件也可以针对目录设置!
2 sgid是针对用户组权限位的。
对于文件来说,sgid的功能如下:
1) sgid 仅对二进制命令有效,
2) 二进制命令或程序需要可执行权限x
3) 执行命令的任意用户可以获得该命令程序执行期间所属组的权限。
对于目录来说
1) linux 里面默认所有用户创建文件,默认用户和组都是自身
2)sgid可以让用户在此目录创建文件和目录,具有和此目录相同的用户组设置。
三 t 粘滞位
授权方法: eg chmod 1777 /tmp chmod o+t 、tmp
如果对应位有x则 字符权限表现为小写,否则表现为大写。