Роббинс Арнольд
Шрифт:
Следующий фрагмент показывает, как создать переменные, представляющие разрешения
Более старый код использовал
К сожалению, ни одна из записей не является очень удобной. Современные версии предпочтительнее, поскольку у каждого бита доступа есть собственное имя и меньше вероятность неправильного выполнения побитовых операций.
При изменении прав доступа к файлу для использования доступны биты дополнительных разрешений, показанные в табл. 4.6, но они не должны использоваться при первоначальном создании файла. Возможность включения этих битов широко варьирует между операционными системами. Лучше всего не пробовать; вместо этого следует изменить права доступа к файлу явным образом после его создания. (Изменение прав доступа описано в разделе 5.5.2 «Изменение прав доступа:
Таблица 4.6. Дополнительные символические имена POSIX для режимов доступа к файлам
Символическое имя | Значение | Смысл |
---|---|---|
S_ISUID | 04000 | Установить ID пользователя |
S_ISGID | 02000 | Установить ID группы |
S_ISVTX | 01000 | Сохранить текст |
Когда стандартные утилиты создают файлы, они по умолчанию используют права доступа
Возвращается старое значение
Вот пример работы
4.6.2. Создание файлов с помощью
Системный вызов
49
Да, это пишется так. Кена Томпсона (Ken Thompson), одного из двух «отцов» Unix, однажды спросили, что бы он сделал по-другому, если бы ему пришлось переделать Unix. Он ответил, что написал бы
Аргумент