概述
access和faccess函数按实际用户ID和实际组ID进行访问权限测试。
#include<unistd.h>
int access(const char *pathname, int mode);
int faccess(int fd, const char *pathname, int mode, int flag);
参数:
pathname:文件路径名
mode:要测试的操作模式
mode | 说明 |
---|---|
F_OK | 测试是否存在 |
R_OK | 测试读权限 |
W_OK | 测试写权限 |
X_OK | 测试执行权限 |
faccessat与access在两种情况下是相同的:一种是pathname为决对路径,另一种是fd取值为AT_FDCWD而pathname为相对路径。否则,faccessat计算相对于打开目录(由fd参数指向)的pathname。
flag:改变faccessat的行为,若flag为AT_EACCESS,访问检查用的是调用进程的有效用户ID和有效组ID。
#include<unistd.h>
#include<stdio.h>
int main()
{
if(access("test.txt", R_OK)==0) printf("READ OKn");
if(access("test.txt", W_OK)==0) printf("WRITE OKn");
if(access("test.txt", X_OK)==0) printf("EXEC OKn");
if(access("test.txt", F_OK)==0) printf("File existn");
return 0;
}
最后
以上就是粗犷裙子为你收集整理的access和faccessat函数的全部内容,希望文章能够帮你解决access和faccessat函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复