您的位置:首页 > 产品设计 > UI/UE

特殊权限 set uid 、set gid 、 sticky_bit

2017-10-26 00:00 239 查看
特殊权限之 suid

这个权限针对二进制可执行文件(比如 命令),使文件在执行阶段具有文件所有者的权限!

比如 passwd 这个命令就具有该权限,当普通用户执行 passwd 时,可以临时获得 root 用户的权限,从面可以更改密码!



它的所有者权限是 rwsr 用数字表示为 4755 当显示为大S时,这是由于所有者没有了执行权限;

chmod u+x /bin/ls 给它加个可执行权限就可以变成 s 了!

例:



特殊权限之 sgid

该权限可以应用在文件上同样子可以作用在目录。设置在文件上,作用和 set uid 类似,前提是这个文件是一个可执行二进制文件!

当设置 set gid 后,执行该文件的用户会临时以该 文件所属组的身份执行,

若目录被设置该 权限后,任何用户在此用户目录下创建的文件或目录都具有和该目录所属组相同的组!

例:





说明:

给 /tem/test/ 目录设置 set gid /权限后,权限由原来的 drwxrwxrwx 变为 drwxrwsrwx ,此时以 user1 的身份在 /tmp/test/ 目录里创建目录及文件,其所属组都 为 root ,而不是user1 .

特殊权限之 sticky_bit (防删除位)

一个文件是否可以被某用户删除,主要取决于该文件所在目录是否对该用户具有写权限,如果没有 写权限,则这个目录下的所有文件都 不能被删除,同时也不能增加新文件,用户希望能够增加新的文件但同时不能删除这个目录下的其他用户文件,则可以对父目录增加该权限。

例:



说明:

/tmp/ 目录的权限是 777 任何人都 有定的权限,所以理论上任何人都 可以删除 /tmp /下的所有文件,但是加入 sticky_bit 权限后,其它人只能增加而不能删除文件!

# 这些特殊权限的设置方法:

如想给一个文件增加一个 set uid权限,命令为:chmod u+s 文件名; 去掉权限:chmod u-s 文件名

设置 set gid 权限: 命令为:chmod g+s 文件名; 去掉权限:chmod g-s 文件名

设置 stick_bit 权限:命令为:chmod o+t 文件名; 去掉权限 : chmod o-t 文件名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: