zoukankan      html  css  js  c++  java
  • Linux文件特殊权限

    Linux中文件除了r、w、x这三个读、写、执行的权限还有特殊权限(s、t)

    SUID权限:

    当s这个标志出现在文件所有者的x权限上时(如:"-rwsr-xr-x"),则被称为Set UID,简称SUID权限。

    SUID限制:

    1、SUID权限仅对二进制程序(可执行程序)有效

    2、执行者对于该程序需要具有x的可执行权限。

    3、本权限仅在执行该程序的过程中有效。

    SUID作用:

    执行者满足上述限制后将具有该程序所有者的权限。

    举例说明:

    用户的密码都存于/etc/shadow文件中,而如图显示只有root能对其修改,那为什么普通用户也能进行修改。


    如图所示,因为passwd有SUID权限,所以passwd执行时执行者获得了程序所有者的root权限,从而解释了上述问题。


    SGID权限:

    当s这个标志出现在用户组的x权限上时(如:"-rwxr-sr-x"),则被称为Set GID,简称SGID权限。

    SGID与SUID不同,它既针对文件有效也针对目录有效。

    对文件的作用:

    SGID限制:

    1、SGID权限对二进制程序(可执行程序)有用。

    2、执行者对于该程序需要具有x的可执行权限。

    3、本权限仅在执行该程序的过程中有效。

    SGID作用:

    执行者满足上述限制后将具有该程序用户组的支持。

    举例:


    对于/var/lib/mlocate/mlocate.db文件etherlai用户是无法访问,但当运行locate的时候就能够读取。

    对目录的作用:

    用户在某个目录下新建的文件对应的用户组都会与该目录的用户组名相同。


    SBIT权限:

    当t这个标志出现在文件其他人的x权限上时(如:"-rwxr-xr-t"),则被称为Sticky Bit,简称SBIT权限。

    SBIT限制:

    1、SBIT权限仅对目录有效

    2、用户对此目录具有w,x权限(即:具有写入的权限)。

    SBIT作用:

    当用户在该目录下创建文件或目录时,仅有自己与root有权力删除该文件。

    举例:


    虽然chmod 777 testing,但是因为testing文件是root在/tmp目录下创的,/tmp具有SBIT权限,所以etherlai仍无法删除testing。


    有时并不是上面的s、t出现,而是出现大写的S、T,原因是缺少对应出的x权限,这个S、T代表的就是“空的”

    以SUID为例,虽然该文件在执行时有文件所有者的权限,但是文件所有者没有x权限无法执行了,哪来的权限给其他人使用,当然就是空的啦!


  • 相关阅读:
    Flume配置
    HDU5312 Sequence
    CF(D. Fibonacci Sums)dp计数
    【算法拾遗】二分查找递归非递归实现
    ubuntu下怎么给普通用户赋予sudo权限
    在Oracle 11.2.0.1.0下dbms_stats.gather_table_stats收集直方图不准
    ZOJ3622 Magic Number(水题)
    小试ImageMagik——开发篇
    一起talk C栗子吧(第二十七回:C语言实例--插入排序)
    依据输入的内容打印出菱形
  • 原文地址:https://www.cnblogs.com/riskyer/p/3341711.html
Copyright © 2011-2022 走看看