• Linux文件特殊权限


    除了我们前面介绍的rwx权限外,Linux中还有另外三种特殊权限:SUID,SGID,SBIT
    一、SUID,SGID,SBIT介绍
    1.SUID:s出现在文件所有者的x权限上。
    1)SUID只能用于二进制可执行文件,对目录无效
    2)执行者若具有该文件的x权限,则将具有文件所有者的权限
    3)权限只在文件执行时有效,执行完毕不再拥有所有者权限

    2.SGID:s出现在文件所属群组的x权限上。
    SGID和SUID不同,可以用于目录
    1)使用者若有此目录的x,w权限,则可进入和修改此目录
    2)使用者在此目录下的群组将变成该目录的群组,新建的文件,群组是此目录的群组。

    SGID对于文件来说
    1)SGID只对二进制可执行文件有效
    2)执行者若具有该文件的x权限,则将具有文件所属群组的权限
    3)权限只在文件执行时有效,执行完毕不再拥有所属群组权限

    3.SBIT:t出现在文件其他用户的x权限上。
    1)和SUID,SGID不同的是,只能用于目录
    2)使用者在该目录下,仅自己与root才有权力删除新建的目录或文件

    二、为什么要使用特殊权限
    举个例子,比如 /usr/bin/passwd 这个二进制文件。
    它的权限是 -rwsr-xr-x ,我不是所有者,我具有"x"权限,我执行它时,获得了它的所有者(即root)的权限,
    所以在该二进制程序执行时,我可以用它来读到我平时是没有权限访问的 /etc/shadow 文件(-r--------),从而能更改我自己的密码

    三、修改SUID,SGID,SBIT权限
    1.符号类型修改权限
    chmod u+s test --为test文件加上suid权限
    chmod g+s test --为test文件加上sgid权限
    chmod o+t test --为test文件加上sbit权限

    2.数字类型修改权限
    我们知道普通文件的rwx权限修改
    对于特殊权限,需要在最前面增加一位,SUID:4,SGID:2,SBIT:1
    chmod 4777 test --test拥有SUID权限,rwsrwxrwx
    chmod 2777 test --test拥有SGID权限,rwxrwsrwx
    chmod 1777 test --test拥有SBIT权限,rwxrwxrwt

  • 相关阅读:
    LinqToSQL4
    java 连接数据库操作
    javadoc生成文档报错 java.lang.IllegalArgumentException
    maven下载依赖jar包,Could not transfer artifact xxxxx
    关于meaven导入依赖出现Failed to read artifact descriptor for ***包
    mybatis-plus项目自动生成代码
    Spring boot 出现 "org.springframework.beans.factory.UnsatisfiedDependencyException" 错误
    vs 调试显示用户关闭隐式函数计算
    vue api排放顺序及属性,用于理解vue
    vue 拦截器
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/5629062.html
Copyright © 2020-2023  润新知