setuid权限的安全性:
使用setuid可以灵活的调整所有文件所有者权限,但是也为系统的安全性带来了隐患。如果root用户为制定的程序文件配置过大的setuid权限,那么就会为黑客或者非法用户打开了侵入系统的大门。例如在linux中可以使用“vi”命令来编辑文件,但是,对于普通用户而言,当其试图使用命令“vi/ect/shadow”来修改密码文件时,系统就会弹出“ect/shadow:Permission Denied”的警告提示,从而禁止其对密码文件的修改。但好似,如果在root用户环境中执行“which vi”命令,就可以看到“vi”命令实际上是“vim”命令的别名。其真实路径为“/usr/bin/vim”。这样执行命令“chomd 6755 /usr/bin/vim”,就可以将“vi”命令的所有者改为root,这样在普通的环境用户中,就可以使用“vi”命令来编辑任何文件(例如“/ect/shadow”),这样,即使是普通用户也可以将密码文件清空,从而实现无密码登录linux,给系统带来的威胁不言而喻,因此,对可能给系统安全带来危害的程序来说,应该尽量不要随意为其配置setuid权限。
(2)setUid
即:设置-用户ID位,设置-组ID位。
当一个程序一旦设置了该标记以后,运行该程序的进程将拥有该程序所有
者同样的权限,比如你的某个程序是由root所有,又设置了SetUid位,那即便是一个
普通用户运行这个程序,但该程序的身份一样是超级用户的身份了,可以访问所有只能由root用户访问的资源.
setUid命令用法:
提升使用者的权限,普通用户可以执行改命令,使自己升级为root
chmod 4755 your_program
setUid命令用法:
通常不是用来提升权限的,而是为了绑定某个特殊用户及其组的特殊权限.
chmod 6755 your_program