Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT

一,文件隐藏属性 —— chattr,lsattr指令

(a)chattr —— 配置文件隐藏属性


Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第1张图片

Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第2张图片

(b)lsattr —— 查看文件隐藏属性


Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第3张图片

二,文件特殊权限—— SUID,SGID,SBIT

(a)SUID

(当s出现在文件拥有者的x权限上)

文件:

1、仅对文件有效,对目录无效

2、SUID权限仅对二进制程序有效

3、执行者对于该程序需要有x可执行权限

4、该文件在执行时,用户会暂时具有文件拥有者的权限

(b)SGID

(当s出现在目录或文件所属群的x权限上时)

由于SGID对文件和目录均有效,故需分成两个部分进行讨论

文件:

1、SGID权限仅对二进制程序有效

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

3、执行者在执行的过程中将会获得程序群组的支持

目录:

1、用户若对此目录具有r,x的权限时,该用户能够进入此目录

2、用户在此目录下的有效群组将会变成该目录的群组

3、若用户在此目录下具有w的权限(可以新建文件),则使用者所建立的新文件的群组与该目录群组一致。

用途:

用户在该目录下新建的文件之群组都会与该目录的组名相同

例题:(若此处难以理解,建议回看 Linux 改变文件的属性和权限 —— chgrp,chown,chmod)


Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第4张图片



Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第5张图片

Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第6张图片

PS:在步骤3中, 之所以 arod 可以删除 abcd ,是因为 arod 对 /srv/ahome 目录具有 w 和 x 权限。而无法编辑 abcd , 是因为 arod 对 abcd 只有 r 权限,而没有 w 权限。若将 abcd 加入 project 群组,即可对其进行编辑(命令:chgrp project abcd)

(c)SBIT

(当s出现在目录其他用户的x权限上时)

目录:

1、仅对目录有效,对文件无效

2、当用户在该目录下建立文件和目录,仅有自己与root才有权限删除该文件

三、SUID,SGID,SBIT权限设定

(a)数字类型改变文件权限和符号类型改变文件权限两种

    权限分数对照,

    SUID:4
    SGID:2
    SBIT:1


Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第7张图片

Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第8张图片

(b)符号类型改变文件权限

    权限符号对照,

    SUID:u+s
    SGID:g+s
    SBIT:o+t


Linux 文件隐藏属性和特殊权限 —— chattr/ lsattr 和 SUID/SGID/SBIT_第9张图片

PS:
当加入具有 SUID/SGID 的权限时,x 被 s 替换
当加入具有 SBIT 的权限时,x 被 s 替换
当不具有 x 权限时,SUID/SGID/SUID 权限为空,故用大写字母 S 和 T 表示。

参考书籍:

鸟哥的Linux私房菜

你可能感兴趣的:(Linux)