分享

Linux文件的特殊权限

 timtxu 2017-06-03

小白电脑课堂开课啦!游戏团战就死机,多半是废了。大家好我是小白。在Linux中你会发现,有些文件即使没有任何权限,但是其他用户还是能够写入数据。例如在rhel7中密码保存在/ect/shadow这个文件中,文件本身除了超级管理员外没有其他任何权限,但其他用户可以通过passwd来修改自己的密码。这是为什么呢?今天小白就和同学们说一说,Linux系统中文件的特殊权限。

一、Linux文件的特殊权限是用于弥补一般权限不能实现的功能,是针对于文件设置的一种特殊的功能。

二、Linux文件的特殊权限:

SUID:让执行者临时拥有属主的权限仅对拥有执行权限的二进制程序有效);

SGID:让执行者临时拥有属组的权限(对拥有执行权限的二进制程序设置),

在该目录中创建的文件自动继承此目录的用户组(只可以对目录设置);

SBIT(Sticky Bit):只可管理自己的数据而不能删除他人文件(仅对目录有效)。

三、SUID(SET UID

让执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

普通用户用passwd修改自己的密码,实际上是对/ect/shadow文件的修改。为什么该文件没有任何权(除超级管理员外)而其他用户还能够写入数据呢?这就要归功于SUID特殊权限了。

如图所示,在所有者权限的可执行权限位上有字母“s”就说明该可执行文件具有SUID特殊权限。

四、SGID(SET GID

让执行者临时拥有属组的权限(对拥有执行权限的二进制程序设置),

在该目录中创建的文件自动继承此目录的用户组(只可以对目录设置)。

在所属组权限的可执行权限位上有字母“s”就说明该可执行文件或目录有SGID特殊权限。

对于文件来说,执行者必须拥有执行该文件的执行权限;

对目录来说,使用者在该目录下的群组会变成该目录的群主。

五、SBIT(Sticky Bit

只可管理自己的数据而不能删除他人文件(仅对目录有效)。

在其他用户权限的可执行权限位上有字母“t”就说明该目录具有SBIT特殊权限。

Linux中/tmp目录就具有这样的权限。

我们可以用root用户在该目录下创建一个文件,然后用其他用户找到该文件,尝试删除该文件,结果很明显是不能删除的。同学们可以自己试一试,增强一下动手能力。

六、我们也可以用“chmod”命令来修改文件的特殊权限。(点这里,chmod命令说明)。

修改特殊权限的命令:

chmod u+s文件名添加SUID权限

chmod g+s文件名添加SGID权限

chmod o+t目录名添加SBIT权限

如果去除特殊权限用“-”代替“+”就可以了。

好了,今天就到这里,我们明天见!

告别电脑小白就从小白电脑课堂开始!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多