权限管理二
一、文件特殊权限 SetUID、SetGID、Sticky BIT SetUID 1、SetUID 是什么 SetUID 的功能可以这样理解: 只有可以执行的二进制程序才能设定 SETUID 权限 命令执行者要对该程序拥有 x(执行)权限 命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程短暂成为为文件的属主) SetUID 权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效 2、setuid举例 passwd命令的执行位置权限是 s 代表passwd这个文件具有 setuid 权限。 [root@love2 ~]# ll /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd 当一个具有执行权限的文件设置 SetUID 权限后,用户执行这个文件时将以文件所有者的身份执行。/usr/bin/passwd命令具有 SetUID 权限,所有者为 root (Linux 中的命令默认所有者都是 root) , 也就是说当普通用户使用 passwd 更改自己密码的时候,一瞬间灵魂附体,实际是在用 passwd 命令所有者 root 的身份在执行 passwd 命令,命令执行完成 后该身份也随之消失。如果取消 SetUID 权限,则普通用户就不能修改自己的密码了。