Системный вызов fchownat()#
Описание#
Системный вызов fchownat() является псевдонимом chown (см. Утилита chown и Системный вызов fchown()), используется для изменения владельца и группы файла относительно файлового дескриптора каталога.
Синтаксис системного вызова:
#include <unistd.h>
int fchownat(int dirfd, const char *pathname, uid_t owner, gid_t group, int flags);
Где:
#include <unistd.h>- включение заголовочного файла, содержащего определения используемых функций и констант;int- целочисленный тип данных;dirfd- файловый дескриптор каталога;const char *pathname- путь и имя файла/каталога;uid_t owner- новый владелец файла;gid_t group- новая группа файла;flags- флаги.
Если путь, указанный в pathname, является относительным, то он интерпретируется относительно каталога, на который ссылается файловый дескриптор dirfd (а не относительно текущего рабочего каталога, как в chown).
Если pathname является относительным, а dirfd - это специальное значение AT_FDCWD (константа текущего рабочего каталога), то pathname интерпретируется относительно текущего рабочего каталога вызывающего процесса.
Если pathname является абсолютным, то dirfd игнорируется.
Флаги могут быть либо равны 0, либо принимать значения:
AT_EMPTY_PATH- если путь является пустой строкой, то операция будет выполнена с файлом, на который ссылаетсяdirfd; в данном случаеdirfdможет ссылаться на любой тип файла, а не только на каталог; еслиdirfdравноAT_FDCWD, то вызов выполняется в текущем рабочем каталоге;AT_SYMLINK_NOFOLLOW- еслиpathnameявляется символьной ссылкой, то используется сама ссылка без перехода по ней.
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man 3 fchownat