Linux下的文件,除了rwx这些权限外,还有一些特殊的权限,下面我们就来看看这些特殊权限的作用及为什么需要这些权限。
1、s权限(setuid)
- setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
- s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效。
Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件的权限确可以修改自己的密码。
这里如果没有了s权限,那么普通用户只有通过root来修改密码,这样root就知道了我普通用户的密码,这样是不行的。如果给用户设置成rw权限,那么用户就可以通过删除/etc/shadow里的root的密码,来让root无密码,可直接登陆。这样就会造成极大的风险。