Утилита fchmod#
Утилита fchmod является псевдонимом chmod (см. Утилита chmod), используется для изменения прав доступа к файлам, определяемым файловыми уникальными идентификаторами - дескрипторами.
Синтаксис fchmod:
fchmod(<path/fildes> <mode>)
Где:
<path/fildes>- путь к файлу/файловые дескрипторы;<mode>- режим прав доступа.
Новые права доступа к файлам задаются в режиме, представляющем собой растровую маску, созданную путем совмещения нуля или более из параметров, представленных в таблице ниже.
Параметр |
Значение |
Описание |
|---|---|---|
|
|
Установить действующий идентификатор пользователя |
|
|
Установить эффективный идентификатор группы |
|
|
Ограничить удаление. Фиксированный бит |
|
|
Предоставить владельцу право на чтение |
|
|
Предоставить владельцу право на запись |
|
|
Предоставить владельцу право на выполнение файла или его поиск в каталоге |
|
|
Предоставить группе право на чтение |
|
|
Предоставить группе право на запись |
|
|
Предоставить группе право на выполнение файла или его поиск в каталоге |
|
|
Предоставить право на чтение всем остальным |
|
|
Предоставить право на запись всем остальным |
|
|
Предоставить право на выполнение файла или его поиск в каталоге всем остальным |
Пример использования#
Для изменения прав доступа для файла /home/cnd/mod1 таким образом, чтобы у владельца и группы были разрешения на чтение/запись/выполнение, а у всех остальных - только на чтение/запись, используйте:
#include <sys/stat.h>
#include <fcntl.h>
mode_t mode;
int fildes;
...
fildes = open("/home/cnd/mod1", O_RDWR);
fchmod(fildes, S_IRWXU | S_IRWXG | S_IROTH | S_IWOTH);
Где:
#include <sys/stat.h>и<fcntl.h>- включение в скрипт указанных библиотек, необходимых для работы с файлами и их правами доступа.mode_t modeиint fildes- объявление в скрипте указанных переменных;fildes = open("/home/cnd/mod1", O_RDWR)- открытие файла для чтения и записи.