ll /usr/bin/passwd 该文件拥有setUid特殊权限
SUID例子
如何赋予SUID权限
4代表SUID
chmod 4755 文件名
chmod u+s 文件名
SetUID的功能
文件特殊权限
SetUID
SetGID #UID与GID极不安全 尽量不去修改
Sticky BIT
SetUID功能
1.只有可执行二进制程序才能设定SUID权限
2.命令执行者要对该程序拥有x(执行)权限(如果当前文件没有执行权限,着会出现大S权限,大S权限是无效的,s=S+x,s才是超级权限。)
3.命令执行者在执行该程序时获得该程序文件属主身份
4.SetUID权限只在程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
设定SetUID方法
chmod 4755 文件名
chmod u+s 文件名
举例:
touch abc
chmod 755 abc
ll #执行这三条命令后可以看到abc为绿色
umask #0022 0第一位是特殊权限
chmod 4775 abc #给abc赋予UID权限 必须是执行文件
ll #该文件变为红色 提示这个文件要小心
touch bcd
chmod 4644 bcd #与abc相比无执行权限 s=S+x
ll
passwd拥有SetUID权限,所以普通用户可以修改自己密码
ll /usr/bin/passwd #可查看passwd详细权限 -rwsr-xr-x.
cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
ll /bin/cat #-rwxr-xr-x 无s
(1)设定SetUID方法
chmod 4755 文件名
chmod u+s 文件名
(2)SetUID功能
1.只有可执行二进制程序才能设定SUID权限
2.命令执行者要对该程序拥有x(执行)权限(如果当前文件没有执行权限,着会出现大S权限,大S权限是无效的,s=S+x,s才是超级权限。)
3.命令执行者在执行该程序时获得该程序文件属主身份
4.SetUID权限只在程序执行过程中有效
passwd拥有SetUID权限,所以普通用户可以修改自己密码 cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
(1)设定SetUID方法
chmod 4755 文件名
chmod u+s 文件名
(2)SetUID功能
1.只有可执行二进制程序才能设定SUID权限
2.命令执行者要对该程序拥有x(执行)权限(如果当前文件没有执行权限,着会出现大S权限,大S权限是无效的,s=S+x,s才是超级权限。)
3.命令执行者在执行该程序时获得该程序文件属主身份
4.SetUID权限只在程序执行过程中有效
passwd拥有SetUID权限,所以普通用户可以修改自己密码 cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
特殊权限尽量少修改;尤其是SUID & SGID
SetUID的功能
只能对文件进行设置,
必须是可执行的二进制程序,才能赋予SUID权限
执行文件的用户必须有该文件的x权限
用户在执行程序过程中,是以文件所有者的身份执行该文件的。
SetUID权限只在该程序执行过程在有效,也就是说身份改变只在程序执行过程中有效
#0022首位的0是特殊权限
#suid只能针对可执行文件,如果对没有执行权限的文件执行suid,则会变成大写S,s=S+x
4代表SUID
chmod 4755 文件名 或 chmod u+s 文件名 为文件设定SetUID权限; chmod 0755 文件名 或 chmod u-s 文件名 为文件取消SetUID权限(注:s指 SUID)
passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码
cat 命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
SetUID的功能
必须是可执行的文件,才能赋予SUID权限
执行文件的用户必须有该文件的x权限
用户在执行程序过程中,是以文件所有者的身份执行该文件的。
文件特殊权限
SetUID,只能对文件进行设置,
注:特殊权限尽量少修改;
设定setUID方法
setUID功能
下边的截图是关于用户和密码的
SetUID ,SetGID, Sticky BIT
#文件特殊权限
#特殊权限尽量少修改
#0022首位的0是特殊权限
#suid只能针对可执行文件,如果对没有执行权限的文件执行suid,则会变成大写S,s=S+x
#普通用户只能修改自己的密码,是因为普通用户对passwd命令拥有setUID权限, 在执行passwd的过程中活的该程序的所有者身份
#普通用户使用passwd后边不能跟用户名,只能是passwd直接回车,改变当前用户的密码
1.当初的umask值是0022,第一位是指特殊权限位,而在设定权限的时候常常输入755 644,此时是将特殊权限省略了。
2.可以利用chmod 4755 (4644) 文件名 为文件设置特殊权限。
3.一旦设定后,对这个文件有执行权限的普通用户在执行这个文件的时候,会临时将自己变成这个文件的所有者,拥有最高权限。在运行结束后,还原身份。
4.一般不用suid来赋权限。