一个文件都有一个所有者, 表示该文件是谁创建的.。同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组。
如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置。
setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。比如我们用普通用户运行passwd命令来更改自己的口令,实际上最终更改的是/etc/passwd文件我们知道/etc/passwd文件是用户管理的配置文件,只有root权限的用户才能更改:
作为普通用户如果修改自己的密码口令通过修改/etc/passwd文件肯定是不可能完成的任务,但是不是可以通过一个命令来修改呢?答案是肯定的,作为普通用户可以通过passwd命令来修改自己的口令这归功于passwd命令的权限我们来看一下:
因为/usr/bin/passwd 已经设置了setuid 权限位(也就是-rwsr-xr-x中的s),所以普通