11.3.3. Простое определение прав доступа
11.3.3. Простое определение прав доступа
Хотя режим файла представляет всю информацию, которая может понадобиться программе, для определения того, имеет ли она доступ к файлу, тестирование набора прав — дело хитрое и чреватое ошибкам. Поскольку ядро ухе включает в себя код для проверки прав доступа, предусмотрен простой системный вызов, который позволяет программам определять, могут ли они получить доступ к файлу определенным образом.
#include <unistd.h>
int access(const char *pathname, int mode);
mode — это маска, которая содержит одно или более перечисленных ниже значений.
F_OK Файл существует. Это требует прав на выполнение по всем каталогам, составляющим путь, поэтому может закончиться сбоем, даже если файл существует. R_OK Процесс может читать файл. W_OK Процесс может писать файл. X_OK Процесс может исполнять файл (или искать в каталоге).access() возвращает 0, если указанный режим доступа разрешен, в противном случае возвращает ошибку EACCESS.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
5.5. Смена владельца, прав доступа и времени изменения
5.5. Смена владельца, прав доступа и времени изменения Несколько других системных вызовов дают вам возможность изменять другие относящиеся к файлу сведения: в частности, владельца и группу файла, права доступа к файлу и времена доступа и изменения
5.5.2. Изменение прав доступа: chmod() и fchmod()
5.5.2. Изменение прав доступа: chmod() и fchmod() Изменение прав доступа осуществляется с помощью одного из двух системных вызовов, chmod() и fchmod():#include <sys/types.h> /* POSIX */#include <sys/stat.h>int chmod(const char *path, mode_t mode);int fchmod(int fildes, mode_t mode);chmod() работает с аргументом имени файла, a fchmod() работает с
11.1. Проверка прав доступа
11.1. Проверка прав доступа Как мы видели в разделе 5.4.2 «Получение информации о файлах», файловая система хранит идентификаторы владельца и группы файла в виде числовых значений; это типы uid_t и gid_t соответственно. Для краткости мы используем для «идентификатора владельца
11.1.2. Модификаторы прав доступа к файлам
11.1.2. Модификаторы прав доступа к файлам Модификаторы прав доступа файлов — это также битовые маски, значения которых представляют биты setuid, setgid и sticky-бит ("липкий" бит). Если бит setuid установлен для исполняемого файла, то эффективный идентификатор пользователя процесса
11.3.4. Изменение прав доступа к файлу
11.3.4. Изменение прав доступа к файлу Права доступа и модификаторы прав доступа к файлу изменяются с помощью системного вызова chmod().#include <sys/stat.h>int chmod(const char *pathname, mode_t mode);int fchmod(int fd, mode_t mode);Хотя chmod() позволяет указать путь, помните, что права доступа к файлу определяет inode, а
9.4.2. Определение прав
9.4.2. Определение прав После описания списков можно указать права доступа для каждого из них с помощью следующих команд:? http_access разрешение имя — определяет права доступа по протоколу HTTP. В качестве параметра разрешение можно указывать allow (доступ разрешен) или deny (доступ
Приложение В. Команды chmod и chown: изменение прав доступа
Приложение В. Команды chmod и chown: изменение прав доступа В Linux есть понятие владельца файла (каталога) и прав доступа к нему. С данными понятиями мы познакомились в главе I, но подробно не рассматривали их. Здесь мы поговорим об этом подробнее.В Linux существует три типа прав
Настройка прав доступа к файлам и ограничение прав пользователей
Настройка прав доступа к файлам и ограничение прав пользователей В процессе работы на компьютере часто возникает необходимость защитить те или иные свои данные от неквалифицированного и несанкционированного просмотра и редактирования. Эта задача обычно возникает при
8.2. Функция access(): проверка прав доступа к файлу
8.2. Функция access(): проверка прав доступа к файлу Функция access() определяет, имеет ли вызывающий ее процесс право доступа к заданному файлу. Функция способна проверить любую комбинацию привилегий чтения, записи и выполнения, а также факт существования файла.Функция access()
8.9. Функция mprotect(): задание прав доступа к памяти
8.9. Функция mprotect(): задание прав доступа к памяти В разделе 5.3, "Отображение файлов в памяти", рассказывалось о том, как осуществляется отображение файла в памяти. Вспомните, что третьим аргументом функции mmap() является битовое объединение флагов доступа: флаги PROT_READ, PROT_WRITE и
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
1.4. Изменение прав доступа к файлу
1.4. Изменение прав доступа к файлу Вы можете изменять режим доступа к файлам, которыми владеете, с помощью команды chmod. Аргументы этой команды могут быть заданы либо в числовом виде (абсолютный режим), либо в символьном (символьный режим). Сначала рассмотрим символьный
17.1. Проверка прав доступа к файлу
17.1. Проверка прав доступа к файлу Основные форматы команды test:test условиеили[ условие ]Обратите внимание, что с обеих сторон от условия обязательно остаются пробелы. При проверке права на доступ к файлу может применяться довольно много условий. В табл. 17.1 содержится
18.3.7. Проверка прав доступа к файлу
18.3.7. Проверка прав доступа к файлу Вы можете также осуществлять контроль прав доступа к файлу. Ниже приводится несложная проверка на предмет того, можно ли вести записи в файле test.txt, который переприсвоен переменной logfile.$ pg ifwr#!/bin/sh# ifwrLOGFILE=test.txt echo $LOGFILEif [ ! —w "$LOGFILE" ]; thenecho " You