SetUID定义:当一个可以执行具有SetUID权限,用户执行这个程序时,将以这个程序所有着身份执行。 (设置只对具有可执行权限的文件有用)
linux中为什么普通用户可以修改自己的密码哪?
从以上命令执行的结果可以看出:passwd命令被设置了SetUID权限,即passwd命令执行时是以root身份执行的,即可以更改密码的原因。
解除SetUID chmod u-s file
查找SetUID程序:find / perm -4000 -o -perm -2000
SetGID定义:当一个可以执行具有SetGID权限,用户执行这个程序时,将以这个程序所属组身份执行。
粘着位 =1 用t表示 (设置只对777权限的目录有用)
SetUID =4 用s表示
例:将命令或文件授予SetUID权限 :chmod u+s a.log
chmod u+s
4755
当vi命令被授予SetUID权限 chmod u+s /bin/vi //因为vi所有者为root,将vi设置SetUID时就表示vi将以root身份打开编辑任何文件(很危险)
linux中为什么普通用户可以修改自己的密码哪?
从以上命令执行的结果可以看出:passwd命令被设置了SetUID权限,即passwd命令执行时是以root身份执行的,即可以更改密码的原因。
解除SetUID chmod u-s file
查找SetUID程序:find / perm -4000 -o -perm -2000
SetGID定义:当一个可以执行具有SetGID权限,用户执行这个程序时,将以这个程序所属组身份执行。
SetGID =2 用s表示
chmod g+s file //即可以设置file文件SetGID
粘着位 =1 用t表示 (设置只对777权限的目录有用)
如果一个权限为777的目录,被设置了粘着位,每个用户都可以在目录下创建文件,但只可以删除自己是所有着的文件