access和faccess函数按实际用户ID和实际组ID进行访问权限测试。
复制代码
1
2
3
4#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。
复制代码
1
2
3
4
5
6
7
8
9
10
11#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函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复