文件和目录详解(三)---access函数详解

  当在进程中使用open打开一个文件的时候,内核在测试权限的时候是基于进程的有效用户ID 来测试的,但是如果我们想要测试进程的实际用户 ID 对文件的权限的时候该怎么办?Linux提供了access函数来实现此功能。当没有设置set-user-id位的时候,实际用户和有效用户是一致的。设置了set-user-id位后,实际用户和有效用户才有可能不一样。

=======================================================

函数原型:

函数参数:

  • pathname:要测试的文件路径名
  • mode:要测试的权限

返回值:

  • 调用成功时返回 0
  • 调用失败时返回 -1

======================================================

  mode可以是以下几个宏:

R_OK:测试读权限

W_OK:测试写权限

X_OK:测试执行权限

F_OK:测试文件是否存在

时间: 2024-08-27 07:08:15

文件和目录详解(三)---access函数详解的相关文章

文件和目录:stat fstat lstat函数

文件和目录:stat fstat lstat函数 #include <sys/stat.h> int stat( const char *restrict pathname, struct stat *restrict buf ); int fstat( int filedes, struct stat *buf ); int lstat( const char *restrict pathname, struct stat *restrict buf );文件 三个函数的返回值:若成功则返回

动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

x动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数. 方法是:用 LoadLibrary 函数加载动态链接库到内存,用 GetProcAddress函数动态获得 DLL 函数的入口地址.当一个 DLL 文件用 LoadLibrary 显式加载后,在任何时刻均可以通过调用 FreeLibrary 函数显式地从内存中把它给卸载. 动态调用使用的 Windows API 函数主要有 3 个, 分别是 LoadLibrary.

Python文件与目录(第三章:文件与目录)

本章介绍python中用来读写文件以及访问目录内容的函数和类型.python提供了丰富的输入输出函数,本章将介绍其中使用广泛的那些函数,首先介绍文件对象,它是python中实现输入输出的基本方法,之后将介绍用于操作路径,获取文件信息和访问目录内容的函数. 3.1文件对象 在windows路径名称中,必须在路径中队反斜杠转义,即每次用两个反斜杠,例如,路径C:\windows\temp,用python字符串C:\\windows\\temp,或者放置一个r取消字符串中队反斜杠的特殊处理,r"C:\

文件和目录详解(四)---umask函数详解

umask函数用来设置权限屏蔽位.在进程中使用open或者creat函数来创建文件的时候可以为文件指定文件权限,而这些权限会受到权限屏蔽位的影响. 比如说我们想要设置的权限为0777,而umask的值为0002,那么最终创建的文件的权限将会是0775. ====================================================== 函数原型: 函数参数: mask:要设置的权限屏蔽位 返回值: 返回之前的权限屏蔽位,umask函数是少有的没有出错返回的函数 ====

文件IO详解(五)---open函数详解

open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ======================================================= 函数原型: 函数参数: pathname:打开文件的路径名 flags:用来控制打开文件的模式 mode:用来设置创建文件的权限(rwx).当flags中带有O_CREAT时才有效. 返回值: 调用成功时返回一个文件描述符fd 调用失败时返回-1,并修改errno ==========================

文件IO详解(七)---lseek函数详解

lseek函数用来设置当前文件偏移量. ====================================================== 函数原型: 函数参数: fd:要操作的文件描述符 offset:基于whence参数的偏移量 whence:参考点位置 返回值: 调用成功时返回当前相对于文件开头的偏移量,以字节为单位 调用失败时返回 -1,并修改errno的值 ======================================================= when

文件IO详解(十七)---ioctl函数详解

Linux提供了 fcntl 函数来获取到文件的控制标志,同时也提供了 ioctl 函数来获取或者设置一些设备文件的特有属性,比如串口的波特率,显示屏的分辨率等等.文件的控制标志是所有类型的文件都会有的,而特有属性则不一定. ======================================================= 函数原型:注意此函数是 ioctl ,而不是iocntl 但是 ioctl 函数相比于 fcntl 函数比较特别的地方就是由于每种设备文件的特有属性都是不一样的,

文件IO详解(八)---read函数详解

read函数用来在进程中读取某文件中的内容. 函数原型: 函数参数: fd:要读取的文件描述符 buf:保存从文件中读取到的内容的内存首地址 count:希望从文件读取到字节数 返回值: 读取文件发生错误时返回 -1 读取文件遇到文件结尾时返回 0 读取文件正常时返回实际读到的字节数 要注意希望读到的字节数和实际读到的字节数可能并不相等,实际读到的字节数总是小于等于希望读到的字节数.

文件IO详解(六)---close函数详解

close函数用来在进程中关闭文件.当使用close关闭文件时,加在该文件上的所有的建议锁都将会被释放.内核中的文件表项也将会被释放. 函数原型: 函数参数: fd:要关闭文件的文件描述符 返回值: 调用成功返回 0 调用失败返回 -1,并修改errno的值