• Linux文件与目录的权限设置:SUID SGID STICKY_BIT


    Linux文件与目录的权限设置:SUID SGID STICKY_BIT

     

     

     

     

     

    一、文件和目录权限的基础知识:

     

    -rwxrwxrwx. 1 root root   0 May 29 00:59 test

    说明:

    ----  文件和目录的第1个字段的第2个字符至第10个字符,为文件权限设置字符串。

    ----  文件所有者权限owner(红色):第2个字符至第4个字符。 

    ----  这个文件所属的其他用户(文件,归属于哪个属组,与文件所有者所在的组无关)(group绿色):第5个字符至第7个字符。

    ----  文件的其他人权限other(蓝色):第8个字符至第10个字符。  

     

     

    --  特殊权限:SUID/4    SGID/2    STICKY_BIT/1

    说明:

    ----  设置方法:chmod    Xnnn    file_folder_name

    ----  特殊的权限数字XX为三种特殊权限(suid/sgid/sticky_bit)的数字组合,和rwx权限的数字组合方式相同。

    ----  普通权限数字n:第一个数字n,代表文件所有者的权限;第二个数字n,代表文件属组中用户的权限;第三个数字n,代表文件其他人的权限。

     

     

     

     

    二、SUID(set user id,4,u+s)

     

    1、功能:将文件的非所有者用户的权限,短暂提升为文件owner权限。

     

    2、使用条件(同时满足所有条件):文件为二进制可执行文件suid_file;二进制可执行文件的非所有者用户至少拥有suid_file文件的可执行权限x。

     

    3、使用范围:suid只能用于文件。

     

    4、设置过程:

    ---- suid权限代表数字为4,符号为s;s替代文件的owner的x权限。

    ---- touch suid_file

    ---- chmod 4777 suid_file

    ---- 结果:-rwsrwxrwx. 1 root root 0 May 29 00:59 suid_file

     

    5、总结:suid只能用于文件,不能用于文件夹(目录)。suid把非所有者权限短暂提升为所有者权限

     

     

     

     

    三、SGID(set group id,2,g+s)

     

    1、功能:在具有sgid权限的文件夹下建立的子文件或子文件夹,拥有与sgid属性的文件夹相同的属组。

     

    2、使用条件(同时满足所有条件):用户至少拥有文件夹的可执行权限x;具有sgid权限的文件夹具有可执行权限。

     

    3、使用范围:文件和文件夹,常用于文件夹

     

    4、设置过程:

    ---- sgid权限代表数字为2,符号为s,s替代group的x权限。

    ---- groupadd horse

    ---- mkdir sgid_folder

    ---- chown .horse sgid_folder

    ---- chmod 2777 sgid_folder

    ---- 结果:drwxrwsrwx. 3 root horse  37 May 29 01:28 sgid_folder

    ---- 说明:在sgid_folder文件夹下面建立的文件或目录的属组默认都是horse。

     

    5、总结:sgid对文件和文件夹都有效,常用于文件夹。sgid的子文件及文件夹拥有与sgid文件夹相同的属组,管理员常常通过属组管理用户权限。

     

     

     

     

     

    四、STICKY_BIT(粘滞位,1,o+t)

     

    1、功能:具有sticky_bit权限的文件夹里面的文件或文件夹,只有文件或文件夹的所有者和root用户才有权利删除。在共享目录环境中,防止其他用户误删他人建立的文件。

     

    2、使用条件(同时满足所有条件):文件夹具有sticky_bit权限;用户至少具有x权限。

     

    3、使用范围:文件夹。

     

    4、设置过程:

    ---- sticky_bit权限代表数字为1,代表字符为t;t替代other权限的x位置。

    ---- mkdir sticky_bit_folder

    ---- chmod 1777 sticky_bit_folder

    ---- 结果:drwxrwxrwt. 2 root root    6 May 29 01:58 sticky_bit_folder

    ---- 说明:在sticky_bit_folder文件夹下建立的文件与文件夹,只能由文件与文件夹的所有者和root账户才能删除,其他人不能删除他人文件或文件夹。

     

    5、总结:sticky_bit用于防止他人误删文件

     

     

     

     

     

    五、重点说明:

     

    1、设置“suid/sgid/sticky_bit”权限的文件、文件夹、用户至少具有x权限,缺少x权限会出现大写"S或者T",出现“S/T”意味着设置不成功。

     

    2、同时具有“suid/sgid/sticky_bit”权限的设置方法(没啥实际意义,7= suid4 + sgid2 +sticky_bit1):chmod    7777    file_folder

    本文由lnlidawei(https://www.cnblogs.com/lnlidawei)原创或整理,转载请注明出处。
  • 相关阅读:
    Java类的三大特征
    java语句
    Python数据类型深入学习之数字
    Python基础学习篇章四
    Python基础学习篇章三
    Python基础学习篇章二
    python基础学习篇章一
    项目中调用天气预报接口
    CI框架传递数组到view层问题记录
    记录使用CI框架开发项目时遇到的问题
  • 原文地址:https://www.cnblogs.com/lnlidawei/p/12985105.html
Copyright © 2020-2023  润新知