Книга: Операционная система UNIX
Владение файлами
Владение файлами
Владелец-пользователь и владелец-группа файла могут быть изменены с помощью системных вызовов chown(2), fchown(2) и lchown(2):
#include <unistd.h>
#include <sys/types.h>
int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fildes, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
Все три вызова работают одинаково за исключением ситуации, когда адресуемый файл является символической связью. В последнем случае вызов lchown(2) действует на сам файл — символическую связь, а не на целевой файл (т.е. не следует символической связи). В функциях chown(2) и lchown(2) файл адресуется по имени, а в fchown(2) — по файловому дескриптору. Если значение owner
или group
установлено равным -1, соответствующий владелец файла не изменяется.
В версиях BSD UNIX только суперпользователь может изменить владение файлом. Это ограничение призвано, в первую очередь, не допустить "скрытие" файлов под именем другого пользователя, например, при установке квотирования ресурсов файловой системы. Владельца-группу можно изменить только для файлов, которыми вы владеете, причем им может стать одна из групп, членом которой вы являетесь. Эти же ограничения определены и стандартом POSIX.1.
В системах ветви System V эти ограничения являются конфигурируемыми, и в общем случае в UNIX System V пользователь может изменить владельца собственных файлов.
В случае успешного изменения владельцев файла биты SUID и SGID сбрасываются, если процесс, вызвавший chown(2) не обладает правами суперпользователя.
- 7.6. Основные операции с файлами и папками
- Эффективная работа с временными файлами сортировки
- Управление файлами занятий
- Владение информацией, или Долгосрочный успех магазина № 2
- 5.12. Обмен файлами с мобильным телефоном по Bluetooth
- Другие системные вызовы для управления файлами
- Манипуляция звуковыми файлами
- Замечания по работе с файлами
- Урок 3.3. Работа с веб-страницами и файлами из Интернета
- Урок 2.6. Операции с файлами и папками
- Работа с файлами изображений
- Практическая работа 14. Работа с файлами и папками