服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - linux下access函数的用法介绍

linux下access函数的用法介绍

2020-12-22 15:58C语言教程网 C/C++

access检查用户对一个文件的权限情况,根据mode的值检查调用进程对文件pathname是否具有读、写、或执行的权限

Linux内核总是根据进程的有效用户ID和有效组ID来决定一个进程是否有权访问某个文件。因此,在编写调整用户ID的程序时,在读写一个文件之前必须明确检查其用户是否原本就有对此文件的访问权限。为了实现这种确认,需要使用access函数。

一般形式为;
#include<unistd.h>
int access(const char *pathname,int mode);

其中,pathname是希望检验的文件名(包含路径),mode是欲检查的访问权限,如下所示

R_OK   检验调用进程是否有读访问权限
W_OK   检验调用进程是否有写访问权限
X_OK   检验调用进程是否有执行访问权限
F_OK   检验规定的文件是否存在

access检查用户对一个文件的权限情况,根据mode的值检查调用进程对文件pathname是否具有读、写、或执行的权限。若进程实际用户具有mode所指出的权限,access返回0.否则返回-1.

例如:
access("test",06);
access("test",F_OK);

分别用来检查实际用户对test文件是否具有读写权限和test文件是否存在。

延伸 · 阅读

精彩推荐