和进程相关联的用户信息(读unix高级编程笔记)

  和每个进程相关联的用户id和组id:

 

  实际用户id

  实际组id                             我们实际上是谁

  有效用户id

  有效组id

  添加组id                              用于文件存取许可权检查

  保存的set-user-id

  保存的set-group-id               由exec函数保存

 

  实际用户id和实际组id标识我们究竟是谁。这两个字段取自登录操作系统的用户。

  有效用户id和有效组id通常等于实际用户id和实际组id,决定了我们的文件访问权限。在文件方式字st_mode(可以由stat函数得到)设一个特殊标志,其定义为“当执行此文件时,进程的有效用户id和有效组id设置为执行文件的所有者用户id和所有组id。在文件方式字中,这两个特殊标志位,分别是set-user-ID和set-group-ID.举一个例子是passwd执行文件,需要修改paasswd文件,这个文件只有root用户可以修改。那么普通用户修改自己密码的时候,为什么会有权限修改这个文件的内容呢。原因就是passwd进程执行的时候,有效用户id和有效组id设置为passwd执行文件的所属用户id和所属组id。

  保存的set-user-id和set-group-id保存了有效用户id和有效组id的副本。

 

  一个进程在试图open一个文件的时候,是根据进程的有效用户id和有效组id进行权限的检查。

  1)若进程的有效用户id是0(root),则允许存取

  2)若进程的有效用户id等于文件的所有者id,检查相应的权限位

  3)若进程的有效用户组id等于文件的所有组id,检查相应的权限位

  4)检查其他权限位

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值