• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 1

    3.3Linux下文件特殊权限: SUID, SGID, SBIT详解

    Posted by 撒得一地 on 2015年12月8日 in Linux教程
    国外稳定加速器推荐    Express | Vypr

    在Linux系统中,只要一提到关于权限,那一般就是rwx这三个读、写、运行权限。但是,只要你足够细心,你会发现/tmp和/usr/bin/passwd的权限很特殊,如下:

    [[email protected] tmp]# ls -ld /tmp ; ls -l /usr/bin/passwd 
    drwxrwxrwt. 3 root root 12288 Dec  6 20:19 /tmp
    
    -rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd
    

    从上面可以看到,除了rwx权限外,/tmp还多了个t权限,而/usr/bin/passwd则多了个s权限。下面详细介绍这些特殊权限。

    SET UID

    当 s 这个标志出现在文件拥有者的 x 权限上时,例如刚刚提到的 /usr/bin/passwd 这个文件的权限状态:『-rwsr-xr-x』,此时就被称为 Set UID,简称为 SUID 的特殊权限。

    基本上SUID有这样的限制与功能:

    SUID 权限仅对二进位程序(binary program)有效;
    
    运行者对于该程序需要具有 x 的可运行权限;
    
    本权限仅在运行该程序的过程中有效 (run-time);
    
    运行者将具有该程序拥有者 (owner) 的权限。
    

    上面的总结有点抽象,举个例子说明会更好理解。 我们的 Linux 系统中,所有帐号的密码都记录在 /etc/shadow 这个文件里面,这个文件的权限为:

    ---------- 1 root root 1169 Jul  1 15:52 /etc/shadow
    

    意思是这个文件仅有root可读且仅有root可以强制写入而已。 

    既然这个文件仅有 root 可以修改,那么当Liunx下还有 lmode 这个一般帐号时,lmode使用者能否自行修改自己的密码呢? 答案是肯定的,你可以使用passwd这个命令来修改自己的密码。

    那么,这和上面叙述的有没有冲突?明明/etc/shadow就不能让lmode这个一般帐户去存取密码的,为什么lmode却还能修改密码,其实这就是SUID的功能了。

    可以简单的归纳为:
    1.lmode 对于 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 lmode 能运行 passwd;
    2.passwd 的拥有者是 root 这个帐号;
    3.lmode 运行 passwd 的过程中,会『暂时』获得 root 的权限;
    4./etc/shadow 就可以被 lmode 所运行的 passwd 所修改。

    但是,如果lmode想用cat去读取/etc/shadow时,则是被禁止的。因为cat不具有SUID的权限。这里要在强调的是,SUID仅用作二进制(binary program)文件上,而不能用在脚本文件(shell script)上。因为脚本文件只是将很多的二进制命令集中一起来运行。所以SUID权限部分,还是得看脚本文件里面二进制运行文件是否具有相应权限,而不是去看脚本文件本身。

    Set GID

    当 s 标志在文件拥有者的 x 权限上时为 SUID,那 s 在群组的 x 权限位置时则称为 Set GID, 简写SGID??梢酝ü罾床榭淳哂蠸GID权限的文件:

    [[email protected] ~]# ls -l /usr/bin/locate
    -rwx--s--x 1 root slocate 23856 Mar 15 2015 /usr/bin/locate
    

    与 SUID 不同的是,SGID 可以针对文件或目录来配置。如果是对文件来说, SGID 有如下的功能:

    SGID 对二进制程序文件有用;
    
    程序运行者对于该程序来说,需具备 x 的权限;
    
    运行者在运行的过程中将会获得该程序文件所属群组的权限。
    

    举例来说,上面的 /usr/bin/locate 这个程序可以去搜寻 /var/lib/mlocate/mlocate.db 这个文件的内容,mlocate.db 的权限如下:

    [[email protected] ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
    -rwx--s--x 1 root slocate 23856 Mar 15 2007 /usr/bin/locate
    
    -rw-r----- 1 root slocate 3175776 Sep 28 04:02 /var/lib/mlocate/mlocate.db
    

    与 SUID 非常的类似,若我使用 lmode 这个帐号去运行 locate 时,那 lmode 将会暂时取得 slocate 群组的权限, 因此就能够去读取 mlocate.db 这个文件的内容。

    除了 二进制文件 之外,事实上 SGID 也能够用在目录上,这也是非常常见的一种用途。 当一个目录配置了 SGID 的权限后,他将具有如下的功能:

    使用者若对于此目录具有 r 与 x 的权限时,该使用者能够进入此目录;
    使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
    用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同。

    Sticky Bit

    当t标志在文件其它者x权限位上时, 则称为Sticky Bit,简写为SBIT。 SBIT 目前只针对目录有效,对于文件已经没有效果了。 SBIT 对于目录的作用是:

    当使用者对于此目录具有 w, x 权限,亦即具有写入的权限时;
    
    当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件
    

    换句话说:当甲这个使用者在 A 目录是具有群组或其他人的身份,并且拥有该目录 w 的权限, 这表示『甲使用者对该目录内任何人创建的目录或文件均可进行 "删除/更名/搬移" 等动作?!?不过,如果将 A 目录加上了 SBIT 的权限时, 则甲只能够针对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人的文件。

    举例来说,我们的 /tmp 本身的权限是『drwxrwxrwt』, 在这样的权限内容下,任何人都可以在 /tmp 内新增、修改文件,但仅有该文件目录创建者与 root 能够删除自己的目录或文件。这个特性也是挺重要的。你可以这样做个简单的测试:

    以 root 登陆系统,并且进入 /tmp 当中;
    touch test,并且更改 test 权限成为 777 ;
    以一般使用者登陆,并进入 /tmp;
    尝试删除 test 这个文件。

    标签:, , ,

    上一篇:

    下一篇:

    相关推荐

    1 Comment

    • huangyue说道:

      楼主你好,我最近运行一个软件以后生成了一个文件,权限是l–s-wS-wT,用root权限也无法删除,不知道你知不知道该怎么删除这种权限的文件,非常感谢~

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 7 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 江西多乐彩投注技巧 重庆欢乐生肖开奖 中国体育彩票超级大乐透 2012112福彩开奖号 最新双色球宝典爱奇艺 快乐8彩票投注软件 pk10软件 香港赛马会官方网 北京pk10是国家彩票吗 网易买老时时彩行吗 大乐透中奖规则及奖金 天津时时彩几点开奖 生肖时时彩开奖结果 爱彩乐推荐号码网页关闭 今日3d试机号查询 什么叫混合过关