Восьмеричные значения для прав доступа
uses linux;
Function Octal(l:longint):longint;
Таблица 3.1. Восьмеричные значения для прав доступа к файлам
Восьмеричное значение
|
Символьное обозначение
|
Значение
|
0400
|
STAT_IRUSR
|
Владелец имеет доступ для чтения
|
0200
|
STAT_IWUSR
|
Владелец имеет доступ для записи
|
0100
|
STAT_IXUSR
|
Владелец может выполнять файл
|
0040
|
STAT_IRGRP
|
Группа имеет доступ для чтения
|
0020
|
STAT_IWGRP
|
Группа имеет доступ для записи
|
0010
|
STAT_IXGRP
|
Группа может выполнять файл
|
0004
|
STAT_IROTH
|
Другие пользователи имеют доступ для чтения
|
0002
|
STAT_IWOTH
|
Другие пользователи имеют доступ для записи
|
0001
|
STAT_IXOTH
|
Другие пользователи могут выполнять файл
|
Из таблицы легко увидеть, что можно сделать файл доступным для чтения всем типам пользователей, сложив 0400 (доступ на чтение для владельца), 040 (доступ на чтение для членов группы файла) и 04
(доступ на чтение для всех остальных пользователей). В итоге это дает код доступа к файлу 0444. Такой код может быть получен и при помощи побитовой операции ИЛИ (or) для соответствующих символьных представлений; например, 0444 эквивалентен выражению:
STAT_IRUSR or STAT_IRGRP or STAT_IROTH
Поскольку все остальные значения из таблицы не включены, код доступа 0444 также означает, что никто из пользователей, включая владельца файла, не может получить доступ к файлу на запись или выполнение.
Чтобы устранить это неудобство, можно использовать более одного восьмеричного значения, относящегося к одной категории пользователей. Например, сложив 0400, 0200 и 0100, получим в сумме значение 0700, которое показывает, что владелец файла может читать его, производить в него запись и запускать файл на выполнение.
Поэтому чаще встречается значение кода доступа:
0700 + 050 + 05 = 0755
Это означает, что владелец файла может читать и писать в файл или запускать файл на выполнение, в то время как права членов группы, связанной с файлом, и все остальных пользователей ограничены только чтением или выполнением файла.
Содержание Назад Вперед