APUE第八章学习札记之进程用户ID与文件用户权限相关知识总结

在Unix/Linux中,对于权限的管理是很严格并且很重要的。然后,在APUE书本中,对于这方面的描述可能会让一些同学感到困惑(原因是没有统一的集中的说明,知识分散在几章几节不利于理解)。因此,笔者在此将之一一总结。

我们都知道文件相关的权限有文件用户(owner)、文件组、其他。对此基础知识有不了解的可以参考之前的博文(http://my.oschina.net/DanielLee/blog/176922)。

而进程用户ID分为实际用户ID,有效用户ID和保存的设置用户ID。接下来一一说明。

1)对于实际用户的理解:登录系统的用户就是实际的用户。实际用户ID和实际组ID。

2)而我们需要更加关注的是有效用户(分为:有效用户ID,有效组ID,附加组ID),有效用户与文件访问有很大关联——有效用户的身份决定了我们的文件访问权限。

进程每次打开、创建或删除一个文件时,内核就进行文件访问权限测试,而这种测试可能涉及文件的所有者(st_uid和st_gid)、进程的有效ID(有效用户ID和有效组ID)以及进程的附加组ID。两个所有者ID是文件的性质,而两个有效ID和附加组ID则是进程性质的。内核进行的测试是:

(1)若进程的有效用户ID是0(超级用户),则允许访问。

(2)若进程有效用户ID等于文件所有者ID,则若适当的访问权限位被设置,则允许访问,否则拒绝访问。

(3)若进程的有效组ID或进程的附加组ID之一等于文件的组ID,那么:若组适合的访问权限位被设置,则允许访问,否则拒绝访问。

(4)若其他用户适当的访问权限被设置,则允许访问,否则拒绝访问。

以上四步是按顺序执行的,如果某一步能够执行访问文件则终止测试,转至执行。

3)保存的设置用户ID和保存的设置组ID在执行一个程序时包含了有效用户ID和有效组ID的副本。

对于这个保存的设置用户ID内容比较多,另写一博文来说明。

转载于:https://my.oschina.net/DanielLee/blog/179684

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值