Книга: Разработка приложений в среде Linux. Второе издание
11.3.5. Смена владельца и группы файла
11.3.5. Смена владельца и группы файла
Точно так же, как права доступа, информация о группе и владельце файла хранится в inode, поэтому все жесткие ссылки на файл имеют одинакового владельца и группу. Похожий системный вызов используется для смены владельца и группы файла.
#include <unistd.h>
int chown(const char *pathname, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
Параметры owner
и group
указывают нового владельца и группу для файла. Если любой из них равен -1
, соответствующее значение не изменяется. Только пользователь root имеет право сменить владельца файла. Когда владелец файла меняется или файл записывается, то бит setuid для этого файла всегда очищается из соображений безопасности. Как root, так и владелец файла могут менять группу, которая владеет файлом, но при условии, что владелец сам является членом этой группы. Если у файла установлен бит выполнения для группы, то бит setgid очищается из тех же соображений безопасности. Если же бит выполнения для группы не установлен, то у файла включена принудительная блокировка и режим предохраняется.
- 5.5.1. Смена владельца файла: chown(), fchown() и lchown()
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Организация пользователей в группы с помощью ролей
- Эффективная работа с временными файлами сортировки
- Единое имя файла параметров InterBase
- Параметры конфигурационного файла InterBase
- Создание пользователя и группы на рабочей станции
- 13. Зарабатываем на своих файлах: файлообменники, загружаеми получаем процент за скачивание
- Группы
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Создание и открытие файла
- Управление файлами занятий