linux中的进程权限

对于一个linux进程,它每次打开、创建或者删除一个文件时,内核就要对该进程进行文件访问权限测试,而在对具体某个文件进行测试时,还需要测试其对目录(也就是文件路径)进行权限测试。

比如要修改/usr/include/stdio.h,需要对//usr/usr/include这三个目录进行权限测试,保证有对这三个目录的执行权限(执行权限用于打开该目录,读权限用于显示目录内容,写权限用于创建新文件或者目录)。
进程访问权限测试涉及文件的所有者(st_uidst_gid),进程的有效ID(有效用户ID和有效组ID)以及进程的附加组ID(若支持的话)。两个所有者ID是文件的性质,而两个有效ID和附加组ID则是进程的性质。

进程测试过程如下:
(1)若进程的有效用户ID是0(超级用户),则允许访问。这给予了超级用户对整个文件系统进行处理的最充分自由。
(2)若进程的有效用户ID等于文件的所有者ID(也就是该进程拥有此文件),那么:若文件所有者适当的访问权限位被设置,则允许访问,否则拒绝访问。适当的访问权限位指的是,若进程为读而打开该文件,则文件所有者读位应为1;若进程为写而打开该文件,则文件所有者写位应为1;若进程将执行该文件,则文件所有者执行位应为1.
(3)若进程的有效组ID或进程的附加组ID之一等于文件的组ID,那么:若文件的组适当的访问权限位被设置,则允许访问,否则拒绝访问。
(4)若文件的其他用户适当的访问权限位被设置,则允许访问,否则拒绝访问。
按顺序执行这四步。注意,如若进程拥有此文件(第2步),则按用户访问权限批准或拒绝该进程对文件的访问--不查看组访问权限。类似的,若进程并不拥有该文件,但进程属于某个适当的组,则按组访问权限批准或拒绝该进程对文件的访问--不查看其他用户的访问权限。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值