Системное программирование в UNIX средствами Free Pascal

       

Права доступа и режимы файлов


Владелец обладает исключительными правами обращения с файлами. В частности, владелец может изменять связанные с файлом права доступа

(permissions). Права доступа определяют возможности доступа к файлу других пользователей. Они затрагивают три группы пользователей:

1)

владелец файла;

2)      все пользователи, кроме владельца файла, принадлежащие к связанной с файлом группе;

3)      все пользователи, не входящие в категории 1 или 2.

Для каждой категории пользователей существуют три основных типа прав доступа к файлам. Они определяют, может ли пользователь определенной категории выполнять:

–        чтение из файла;

–        запись в файл;

–        запуск файла на выполнение. В этом случае файл обычно является программой или последовательностью команд оболочки.

Как обычно, суперпользователь выделен в отдельную категорию и может оперировать любыми файлами, независимо от связанных с ними прав чтения, записи или выполнения.

Система хранит связанные с файлом права доступа в битовой маске, называемой кодом доступа к файлу (file mode). Хотя модуль linux и определяет символьные имена для битов прав доступа, большинство программистов все еще предпочитает использовать восьмеричные постоянные, приведенные в табл. 3.1 – при этом символьные имена являются относительно недавним и весьма неудобным нововведением. Следует обратить внимание, что в языке С восьмеричные постоянные всегда начинаются с нуля, иначе компилятор будет расценивать их как десятичные. В Паскале же для записи восьмеричных чисел удобно использовать функцию octal, параметром которой является восьмеричное число, записанное десятичными числами, а результатом – значение в десятеричной системе:



Содержание раздела