centos普通用户修改文件权限_Linux 学习笔记之,特殊权限 SUIG、SGID、SBIT

a0fad7cb1455a47b0a931f78d309de31.png

一、SUID 与 SGID

  • 一般用于二进制程序;
  • 执行者需要有该二进制程序的x权限;
  • 执行具有SUID权限的二进制程序,那么执行者将具有该二进制程序所有者的权限。
举例来说,/etc/passwd文件的权限是 -rw-r--r--,用户更改密码时需要对passwd文件进行写操作,root可以读写不用说,那普通用户为什么也能进行修改呢?这里就需要SUID来解决。修改密码时是用/usr/bin/passwd工具进行修改的。setuid的作用是让执行该命令的用户以该命令拥有者的权限去执行,就是普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。

下面权限中的s就标志着SUID:

# ls -al /usr/bin/passwd 
9986471d8d3d3a83d3b1c0cbce800834.png
  • SGID 的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。

二、stick bit / SBIT (粘滞位)

以/tmp为例,tmp为存放临时文件的文件夹。所有用户都可以对他进行读写执行。那如果A用户创建了一个文件再tmp中,B用户把给删除了。这种情况是不允许出现的。如果设置了stick bit(粘滞位),那目录下的文件就只有root和创建者有权限区读写执行,其他人是无法更改的。这就是粘滞位的作用
  • 粘滞位只能针对目录设置
  • SGID 与 SUID 可以设置目录跟文件

三、特殊权限的具体设置:

SUID:

  • SUID 一般情况下都设置在二进制文件上,设置在目录上没有意义
  • 启动为进程之后,其进程的属主为原程序文件的属主
# chmod u+s file# chmod u-s file

文件设置 SGID:

  • 启动为进程之后,其进程的属主为原程序文件的属组
# chmod g+s file# chmod g-s file

目录设置SGID:

  • 目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组
# chmod g-s dir/# chmod g+s dir/

SBIT:

  • 一般用在目录上设置SBIT,在此目录下创建的文件只有root与创建者有修改和删除权限
# chmod o+t dir/# chmod o-t dir/
3617ebb26e7f6184aa93974305910b5d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值