• [Linux]权限s权限和t权限


     摘自:https://www.cnblogs.com/yiyide266/p/10047340.html

    问题

         在《Unix高级编程》第4.9章节中描述了函数chmod()的参数mode常量值

    当中S_ISUID、S_ISGID、S_ISVTX三个常量让人困惑.

    分析

    通过查阅文档,发现这几个权限叫做强制位(s权限)和粘滞位(t权限)

    一、s权限

         包含S_ISUID、S_ISGID两个常量在内,叫做强制位权限,作用在于设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

    ls -al /usr/bin/passwd
    -rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd

         两个常量的值是:

      oct dec
    S_ISUID 4000 2048
    S_ISGID 2000 1024

         即分别是第12位和第11位的掩码.

         设置suid:将相应的权限位之前的那一位设置为4;

         设置guid:将相应的权限位之前的那一位设置为2;

         两者都置位:将相应的权限位之前的那一位设置为4+2=6.

         设置一个文件运行时具备文件拥有者UID的身份:

    chmod 4755 test

         设置一个文件运行时具备文件拥有者GID的身份:

    chmod 2755 test

         设置一个文件运行时以上两者兼备的身份:

    chmod 6755 test

    注意:在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)

    二、t权限

         这个常量的值是:

      oct dec
    S_ISVTX 1000 512

         即是第10位的掩码,不过有一点挺奇怪是,在centos7.0下标准头文件sys/stat.h却没有定义这个常量,但是在文件系统中这个标志位是真实存在的.

         设置一个文件夹运行时具备t权限:

    chmod 1777 test

         t权限:要删除一个文档,您不一定要有这个文档的写权限,但您一定要有这个文档的上级目录的写权限。也就是说,您即使没有一个文档的写权限,但您有这个文档的上级目录的写权限,您 也能够把这个文档给删除,而假如没有一个目录的写权限,也就不能在这个目录下创建文档。

    怎样才能使一个目录既能够让任何用户写入文档,又不让用户删除这个目录下他人的文档,t权限就是能起到这个作用。t权限一般只用在目录上,用在文档上起不到什么作用。

    在一个目录上设了t权限位后,(如/home,权限为1777)任何的用户都能够在这个目录下创建文档,但只能删除自己创建的文档(root除外),这就对任何用户能写的目录下的用户文档 启到了保护的作用。

    可以通过chmod +t filename 来设置t权限

    在这再总结一下

    s或S(SUID,Set UID):

    可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。

    t或T(Sticky):

    /tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

  • 相关阅读:
    每天一篇经济学人 2020-09-15 分享在 特朗普的“疫苗政治”:科学与政治之争 | 经济学人
    english notes
    new word
    gilbert strang
    news etc
    对自己的要求
    JDBC添加数据
    题目-1031-字符串反转
    题目-1002-字符串分类统计
    ERROR:格式化hdfs后,datanode只启动了一个
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/12410356.html
Copyright © 2020-2023  润新知