Unix 文件和目录

用户ID和组ID

类别含义
实际用户ID / 实际组ID我们实际上是谁(登录时确定)
有效用户ID / 有效组ID用于文件访问权限检查(可以被更改,比如改成超级管理员,那就无敌了)
保存的设置用户ID / 保存的设置组ID由exec函数保存(保存了有效xxID的副本)

有效用户ID和有效组ID是用来做文件监测的,一般进程的有效用户ID和有效组ID和实际用户ID和实际组ID是一样的,当然这个是可被修改的。

stat方法

stat方法可以查看文件或者目录的信息,具体能查看哪些信息,可以看stat这个结构体

文件的访问权限R/W/X

文件访问权限,对应在stat结构体里的st_mode字段,对应九个访问位权限

st_mode含义
S_IRUSR / S_IWUSR / S_IXUSR用户读 / 用户写 / 用户执行
S_IRGRP / S_IWGRP / S_IXGRP组读 / 组写 / 组执行
S_IROTH / S_IWOTH / S_IXOTH其他读 / 其他写 / 其他执行

记住以下规律:

  1. 对某一个文件/目录的访问,需要对其所有父目录有执行权限
  2. 读一个文件时,必须对该文件有读权限
  3. 写文件时,必须对该文件有写权限
  4. 在一个目录下新增文件时,必须对该目录有写权限和执行权限
  5. 删除一个目录下的文件时,必须有该目录有写和执行权限,对该文件不需要任何权限

判断是否有权限是通过当前进程的有效ID和文件的所有者ID来判断的。

文件权限校验

通过access或者faccessat方法可以查看文件/文件夹的访问权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值