fchownat() - Unix,Linux系统调用 - 技术教程
Tutorials Point


  Unix入门
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考资料     讨论论坛     关于TP  

fchownat() - Unix,Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

fchownat - 更改相对于目录文件描述符的文件所有权

概要

#include <unistd.h> 

int fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags);

描述

fchownat() 系统调用与 chown(2) 的工作方式完全相同,除了本手册页中描述的差异。

如果path中给定的路径名是相对路径,则它将相对于文件描述符dirfd引用的目录进行解释(而不是相对于调用进程的当前工作目录,chown(2) 对相对路径名就是这样做的)。

如果path中给定的路径名是相对路径,并且dirfd是特殊值AT_FDCWD,则path将相对于调用进程的当前工作目录进行解释(与chown(2)相同)。

如果path中给定的路径名是绝对路径,则忽略dirfd

flags可以为0,也可以包含以下标志:

标签描述
AT_SYMLINK_NOFOLLOW 如果path是符号链接,则不要取消引用它:而是像lchown(2)一样对链接本身进行操作。(默认情况下,fchownat() 像chown(2)一样取消引用符号链接)。

返回值

成功时,fchownat() 返回 0。出错时,返回 -1,并设置errno以指示错误。

错误

chown(2) 中发生的相同错误也可能发生在 fchownat() 中。fchownat() 可能会发生以下附加错误:

标签描述
EBADF dirfd不是有效的文件描述符。
EINVAL flags中指定了无效标志。
ENOTDIR path是相对路径,并且dirfd是引用非目录文件的描述符。

备注

有关fchownat()的需求说明,请参见openat(2)。

符合标准

此系统调用是非标准的,但建议将其包含在POSIX.1的未来修订版中。Solaris上存在类似的系统调用。

版本

fchownat() 在 Linux 内核 2.6.16 中添加。

参见



previous next Printer Friendly

广告


  

广告



广告
© . All rights reserved.