权限问题

linux进程中的实际用户ID,实际组ID,有效用户ID,有效组ID
与一个进程相关联的ID有6个或更多:
实际用户ID:进程创建者的用户ID
实际组ID:进程创建者的实际用户组ID
有效用户ID:该ID标识进程的权限
有效组ID:该ID标识进程的权限
附属组ID,保存的设置用户ID,保存的设置组ID


通常进程的有效用户ID等于进程的实际用户ID,进程的有效组ID等于进程的实际组ID。但是可以在文件模式字(st_mode)中设置一个标志,其含义是:当执行此进程时,进程的有效用户ID为进程
文件的所有者ID(st_uid);同理,在文件模式中也可以设置另一位,它将进程的有效组ID设置为进程对应的文件的组ID(st_gid).


进程打开,删除,新建一个文件时,内核就进行文件访问权限的测试,而这种测试可能涉及文件所有者(st_uid),所属组(st_gid),进程的有效用户ID,有效组ID,附属组ID,
st_uid,st_gid是文件的属性,而两个有效ID及附属组ID是进程的属性。内核进行的测试如下(按照优先级从上至下查看):
1.若进程的有效用户为0,则允许访问
2.若进程的有效用户ID等于文件的所有者ID,并且此文件的所有者对该文件相应访问权限位置位,则允许访问,否则拒绝
3.若进程的有效组ID或附属组ID之一等于文件的组ID,并且此文件的所属组相应访问权限位置位,则允许访问,否则拒绝
4.若其他用户适当的访问权限位被设置,则允许访问,否则拒绝



文件的权限问题:
文件类型(st_mode):普通文件,目录文件,块特殊文件,字符特殊文件,FIFO,套接字,连接符号;所有文件(包括目录,字符特殊文件)都有访问权限;
与文件权限相关的两个属性是:文件所有者(st_uid),文件所属组(st_gid).


目录的rwx:文件是存放实际数据的,而目录主要的内容是记录文件名列表
r:代表具有读取该目录结构列表的权限,所以当你具有r权限时,表示你可以查询该目录名下的文件名数据,比如你可以在此目录下使用ls指令
w:代表具有更改该目录结构列表的权限,也就是具有以下权限:新建新的文件或目录,删除已存在的文件或目录(不论该问价或目录的权限为何),将已存在的文件或目录进行重命名,转移该目录内
文件或目录的位置
x:代表你能否进入目录,能否通过该目录。


说明:1.如果你想在一个目录下新建/删除文件/目录,必须对该目录具有wx权限,但是对想删除的文件不需要具有任何权限
 2.为了打开/usr/include/stdio.h,你需要对目录/,/include,具有x权限(通过目录),并且对stdio.h具有r权限
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值