Linux中的ID与权限

  • 实际用户(组)ID:进程的执行者
  • 有效用户(组)ID:一般等于实际,文件访问权限(有效用户ID+有效组ID+辅助组ID,准确的说是系统用户ID和组ID),一个进程有没有特权看有效用户ID
  • 保存的set-User-IDset-group-ID:对应的有效用户(组)ID复制而来,某些系统调用中,在实际用户(组)ID和保存的set-User-ID(set-group-ID)间自由切换

set-User-ID程序set-group-ID程序:有效ID->属主(需开启UG权限位)
chomd:开启set-User-ID权限位
chown:更改属主

  • 非特权用户:设置拥有的文件

  • 特权用户:ALL
    举例:passwd程序

Sticky位
旧的Unix:实现程序拷贝到交换区,加速程序运行
现代Unix:对于目录来说,①有写权限②为文件的属主或者属组—>可以进行删除操作

用途:创建一个多个用户共享的文件开T位,每个用户只能删除自己的文件,比如/tmp

文件权限检查算法

在Linux中,如何判断某一个进程是否对文件拥有权限,遵循如下规则:

  1. 特权进程:拥有所有访问权限
  2. 判断有效用户ID是否等于用户ID(决定文件属主,创建时由创建进程的有效ID复制而来),如相等则将属主权限赋予进程
  3. 判断有效组ID或附属组ID是否等于文件组ID(决定文件属组),如相等则将属组权限赋予进程,可能会出现组的权限比用户权限还大的情况
  4. 若以上都不满足,赋予other权限

如果文件的属主发生了改变,则会关闭UG位(防止设法将文件设为特权用户所有后。拥有特权身份),更改目录的属主则不会关闭(通过目录的G位来控制创建文件的所有权,启用强制文件锁定)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值