linux中的access函数

  1. #include<unistd.h>  
  2. int access(const char* pathname, int mode);  
  3. int faccessat(int fd, const char* pathname, int mode, int flag);  

先说简单的access函数,pathname是文件的路径名+文件名,指定要测试的文件;mode则指明测试哪种权限,实际上有4种:

  • F_OK 值为0,判断文件是否存在
  • R_OK 值为4判断对文件是否有读权限
  • W_OK 值为2判断对文件是否有写权限
  • X_OK 值为1判断对文件是否有读写权限
  • 对于faccessat函数,其用fd来指定目录,mode的含义不变,而flag可以指定是判断有效用户的权限还是实际用户的权限。

    如果flag的值是AF_EACCESS(值为0x200)的话,判断的是有效用户的权限;

    如果flag的值是0的话,则跟access一样,判断的是实际用户的权限。

    当判断有权限时,返回0,否则返回-1.


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值