linux/unix 下的可执行文件:
被设置了setuid, 当一个程序一旦设置了该标记以后, 使用该可执行程序的进程将拥有该执行文件的所有者的权限,可提升使用者的权限,普通用户可以执行改命令,使自己升级为root权限。
setuid的用法是: chmod 4755 program 或 chmod u+s program (setuid 只对文件有效)
被设置了setgid, 同理使用该程序的进程将拥有该程序所有组的权限,单独setGid的文件非常少用,通常都是即setUid又setGid,同时setuid,setgid 是为了绑定某个特殊用户及其组的特殊权限。
setgid的用法是:chmod 2755 dir 或 chmod g+s dir (setgid 只对目录有效)
同时设置setuid,setgid的用法:chmod 6755 program
被设置粘着位,设置的用法是: chmod 1777 file 或 chmod o+t file (sticky只对文件有效)
当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件 。