7.linux文件的特殊权限SUID,SGID,Sticky,chattr

永远的红茶加白地兰 2021-09-24

栏目: android ·

来源: 永远的红茶加白地兰

作者:永远的红茶加白地兰

简介  这篇文章主要介绍了7.linux文件的特殊权限SUID,SGID,Sticky,chattr以及相关的经验技巧,文章约2656字,浏览量194,点赞数7,值得推荐!

1、特殊权限SUID

前提:进程有属主和属组;文件有属主和属组

​ 1.任何一个可执行程序问件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
​ 2.启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
​ 3.进程访问文件时的权限,却决于进程的发起者

​ (a)进程的发起者,同文件的属主:则应用文件属主权限
​ (b)进程的发起者,属于文件属组;则应用文件属组权限
​ (c)应用文件“其他”权限

二进制的可执行文件上SUID权限功能:

​ 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
​ 启动为进程之后,其进程的属主为原程序文件的属主
​ SUID只对二进制可执行程序有效
​ SUID设置在目录上无意义

SUID权限设定:

chmod  u+s  FILE...
chmod  4xxx  FILE
chmod  u-s   FILE...

范例:passwd文件的属主执行权限位是s,代表passwd属主可以执行

[root@cat data]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 Apr  1  2020 /usr/bin/passwd

SUID权限设定:

chmod  u+s  FILE...
chmod  4xxx  FILE
chmod  u-s   FILE...

范例:

[root@cat data]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 Apr  1  2020 /usr/bin/passwd

为cat二进制文件添加SUID权限后,即使每一类用户对passwd文件没有任何权限,使用其它用户也可查看"passwd"文件中的数据,通过以上操作可以发现:
              1)、只作用在二进制程序文件中(如作用在普通文件中没有任何意义)。
              2)、在默认情况下,用户发起一个进程,该进程的属主是发起者,而并非是文件的属主,此时进程是以发起者的身份去运行。
              3)、如果给二进制程序文件添加了SUID权限后,用户发起一个进程,该进程的属主为程序文件所属的属主,而并非是发起者。

2、特殊权限SGID (数字编码2)

​ 二进制的可执行文件上SGID权限功能:

​ 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

​ 启动为进程之后,其进程的属组为原有程序文件的属组

SGID权限设定:

chmod   g+s  FILE...
chmod   2xxx  FILE
chmod   g-s  FILE...

目录上的SGID权限功能:

默认情况下,用户创建文件时,其属组为此用户所属的主组,一旦某目录被设定了SGID,则对此目录有写权限的用户在次目录中创建的文件所属组为此目录的属组,通常用于创建一个协作目录

SGID权限设定:

chmod  g+s  DIR...
chmod  2xxx   DIR
chmod   g-s   DIR...

3、特殊权限 Stickv 位

具有写权限的目录通常用户可以删除改目录中的任何文件,无论该文件的权限或拥有权

在目录设置Sticky位,只有文件的所有者或root可以删除该文件

sticky权限设定:

chmod o+t   DIR...
chmod   1xxx   DIR
chmod  o-t  DIR...

范例:root用户的临时文件夹tmp

[root@cat data]# ll -d /tmp
drwxrwxrwt. 26 root root 4096 Dec  8 15:07 /tmp

4. chattr设置特殊属性

//可用于防止muma自动修复,发现后删除并且用chattr + i命令自己创建一个占muma文件的位置
例:给file.txt文件添加i属性。添加i属性后不能被改名,删除,创建硬链接


设置文件的特殊属性,可以防止root用户误操作删除或修改文件

​不能删除,改名,更名

chattr +i

只能追加内容,不能删除,改名

chattr +a

显示特定属性

​ lsattr

实例:用chattr命令防止系统中某个关键文件被修改:


chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf

会显示如下属性

----i-------- /etc/resolv.conf

让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

chattr +a /var/log/messages

以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文地址:https://blog.51cto.com/u_15295178/3998754

相关文章

Linux 文件特殊权限 SUID SGID SBIT(示例代码)

Linux学习总结:特殊权限SUID,SGID,SBIT(示例代码)

Linux之特殊权限(SUID/SGID/SBIT)(示例代码)

文件的特殊权限,SUID、SGID、STICKY

(转)Linux 文件目录特殊权限设定(SUID,SGID,SBIT)(示例代码)

linux文件的特殊权限——SUID、SGID、SBIT

linux文件的特殊权限——SUID、SGID、SBIT

Linux特殊位SUID、SGID、SBIT(示例代码)