您的位置:首页 > 运维架构 > Linux

faccessat(2)linux man page

2016-07-11 10:20 387 查看


名称

faccessat 检查用户的权限的文件相对目录文件描述符

staging 模块

# include/ *定义 at_ *常量 */
# include<<a href="http://linux.die.net/include/清单2" rel="nofollow">清单2>
int  faccessat(int  dirfd , const  char  *pathname , int , int  flags);

glibc 的功能测试宏要求(看到 feature_test_macros(7)):
faccessat():因为 glibc 2.10:_xopen_source>= 700 || _posix_c_source>= 200809lglibc 2.10: 之前_atfile_source

描述

在faccessat()系统调用的作用完全相同的access(2)除在本手册所述的差异.
如果给出该路径名,路径名是相对的.然后它将被解释为目录的文件描述符dirfd((2)为相对路径名).
如果 pathname 是特殊值 at_fdcwd dirfd 是相对的,然后向调用进程的当前工作目录的路径名解释相对(像 access(2)).
如果 pathname 是绝对的,则忽略 dirfd .
标志是如何构造的 oring 一起零个或零个以上的以下值:
at_eaccess执行访问检查使用实际用户和组 id .缺省情况下,faccessat()使用真实的id(像 access(2)).at_symlink_nofollow如果 pathname 是一个符号链接,不要取消它的:返回有关链接本身.

返回值

成功时,(所有请求的权限授予)faccessat()返回0,所以返回1, errno 为错误.

错误

访问相同的错误(2)也可以为faccessat().以下附加可 faccessat():
ebadf

dirfd 是无效的文件描述符.

einval

无效标志中指定的标志.enotdirpathname 是相对和 dirfd 是一个文件描述符引用一个目录以外的文件.

版本

faccessat()未添加到 linux 内核 2.6.16.

符合

posix.1 信息的说明

notes

看到openat(2)对 faccessat 需要的说明 ,().
警告:faccessat()如有相同种类的争用,则access(2)和 euidaccess(3).
glibc notes
在 glibc 的包装函数使用 at_eaccess 和 at_symlink_nofollow 标志为真正实现faccessat().如果在指定的标志,包装函数配药fstatat(2)要确定访问权限.

参见

access(2),

openat(2),
euidaccess(3),
credentials(7),
path_resolution(7),
symlink(7)

引用

syscalls(2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: