linux中文件的特殊权限(SetUID/SetGID/SBIT)
1.SetUID 一.SetUID的功能 SetUID主要是给命令提供一个root权限,就是命令运行时拥有root用户权限,命令运行结束后root权限消失 1.只有执行的二进制程序才能设定SUID权限 2.命令执行者要对该程序有用x(执行)权限 3.命令执行者在执行该程序时获得该程序文件属主(所有者)的身份(在执行程序的过程中灵魂附体为文件的属主) 4.SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效. passwd passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码 修改密码是向/etc/shadow写入数据的 但是/etc/shadow文件的权限是---------,只有root用户可以操作,普通用户连看都不可以 [root@izm5e2q95pbpe1hh0kkwoiz ~]# ll /etc/shadow ---------- 1 root root 1097 Dec 10 17:02 /etc/shadow 所以passwd命令拥有SetUID权限,让普通用户在修改自己密码的时候,短暂拥有root权限, 修改完密码之后,root权限也就没有了 passwd命令中其他组拥有的权限是r-x,普通用户划归在其他组中,对应上面第2条,命令执行者要对该程序有用x(执行)权限 [root@izm5e2q95pbpe1hh0kkwoiz