• 文件特殊权限


    1.SUID(Set UID)

     

    a.当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID,简称SUID的特殊权限。此权限的功能与权限如下:

        *SUID仅对二进制程序有效

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

        *本权限仅在执行该程序的过程中有效

        *执行者将具有该程序所有者的权限

    b.在linux系统中,所有的帐号密码都记录在/etc/shadow这个文件中,这个文件权限为-r-------- 1 root root,意思是这个文件仅有root可读仅root可以强制写入。但是一般的账户(例我的kiosk是个普通用户)却可以改动自己的密码,这与权限岂不是冲突了?其实,这便是SUID的作用:

        *kiosk对于/usr/bin/passwd这个程序来说是有x权限的,表示kiosk能够执行passwd命令

        *passwd的拥有者时root这个帐号

        *vbird执行passwd的过程中,会暂时获得root权限

        */etc/shadow可以被kiosk所执行的passwd所修改

    虽然kiosk可以修改自己的账户密码,但是却无法用cat去读取/etc/shadow

     

    c.SUID仅可用在二进制程序上,不能够用在shell script上面,对于目录也是无效的。

     

    2.SGID(Set GID)

     

    a.当s标志在用户组的x时则称为Set GID,SGID。与SUID不同的是,SGID可以针对文件或目录来设置。如果是对文件来说,SGID有以下功能L

        *SGID对二进制程序有用

        *程序执行者对于该程序来说,需具备x的权限

        *执行者在执行的过程当中会获得该程序用户组的支持

     

    b.除了二进制程序外,事实上SGID也能够用在目录上,这也是常见的一种用途。当一个目录设置了SGIDde1权限后,会具有如下功能:

        *用户若对次目录具有r与x权限时,该用户可进入此目录

        *用户在次目录下的有效用户组将会变成该目录的用户组

        *若用户再次目录下有w权限,则用户所创建的新文件的用户组与次目录的用户组相同

     

     

    3.Sticky Bit

     

    a.这个Sticky Bit(SBIT)目前只针对目录有效,其效果为:

        *当用户对于次目录具有w,x权限,即具有写入的权限时:

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

    即,加入A目录加上了SBIT的权限项目时,则用户甲之能够针对自己创建的文件或目录进行删除,更改,移动等操作,而无法删除他人创建的文件

     

    4.SUID/SGID/SBIT权限设置

    a.通过数字的方法

        4为SUID

        2为SGID

        1为SBIT

    若要将一个文件权限更改为SUID时,就可在原先的权限上加上4.例如,原权限为755,那么更改为SUID就可以用 chmod 4755 文件名即可。其余例上。

    b.通过符号方法

        SUID为u+s

        SGID为g+s

        SBIT为o+t

    例:原权限为-rws--x--x

    添加SGID与SBIT,可通过如下方法进行:

        chmod g+s,o+t 文件名

  • 相关阅读:
    Python之字典
    Python之模块
    Python之字符串格式化
    结束循环
    循环
    C语言static和局部变量
    C static extern和全局变量
    extern static和函数
    C语言typedef
    C语言之文件包含
  • 原文地址:https://www.cnblogs.com/zhengyipengyou/p/10231178.html
Copyright © 2020-2023  润新知