Linux特殊权限之SUID,SGID
SUID定义
暂时借用属主身份运行二进制程序。(SGID则是借用属组)
应用场景
某些用户在运行二进制程序的过程中,没有权限访问此二进制程序中其他的一些文件。给此用户过高的权限又不安全。
比如,每个用户都可以使用passwd修改密码,但是修改密码需要修改shadow文件。一般用户没有权限修改shadow怎么办呢?解决方案是:暂时以root身份运行passwd程序,就有权限修改shadow了。运行完即回到原来的身份。
如何设置SUID
注意:只有二进制程序才可以设置SUID和SGID特殊权限。
SUID意为Set UID。
chmod u+s /usr/sbinpoweroff
SGID类似。
Example
一般用户是没有权限去关机的:
原因是一般用户没有权限执行某些连带程序。
我们用root用户来增加SUID权限
可以看到二进制程序变成了红色。
记得切换到一般用户,执行poweroff
成功关机!服务器已经断开!