Чтение, запись и выполнение

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

[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2012-03-06 14:52 foo.txt

Первые 10 символов в выводе — это атрибуты файла (рис. 9.1). Первый из этих символов определяет тип файла. В табл. 9.1 перечислены типы файлов, которые чаще всего встречаются на практике (существуют также другие, реже используемые типы файлов). Остальные девять символов в атрибутах файла называются режимом доступа к файлу и представляют права на чтение, запись и выполнение для владельца файла, группы — владельца файла и всех остальных.

Рис. 9.1. Атрибуты файла

Установленные атрибуты режима r, w и x оказывают определенное влияние на файлы и каталоги, как показано в табл. 9.2.

Таблица 9.1. Типы файлов

Атрибут

Тип файла

-

Обычный файл

d

Каталог

l

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

c

Специальный файл символьного устройства. Файлы этого типа соответствуют устройствам, таким как терминал или модем, которые обрабатывают данные как потоки байтов

b

Специальный файл блочного устройства. Файлы этого типа соответствуют устройствам, таким как привод жесткого диска или CD-ROM, которые обрабатывают данные блоками

Таблица 9.2. Атрибуты прав доступа

Атрибут

Файлы

Каталоги

r

Разрешается открывать и читать содержимое файла

Разрешается читать содержимое каталога, если вместе с этим атрибутом установлен атрибут права на выполнение

w

Разрешается записывать в файл или усекать его; однако этот атрибут не дает права переименовывать и удалять файлы. Возможность переименования и удаления файлов определяется атрибутами вмещающего каталога

Разрешается создавать, удалять и переименовывать файлы внутри каталога, если вместе с этим атрибутом установлен атрибут права на выполнение

x

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

Разрешается входить в каталог, то есть выполнять команду cd для перехода в него

В табл. 9.3 приводится несколько примеров установки атрибутов файлов.

Таблица 9.3. Примеры установки атрибутов прав доступа к файлам

Атрибуты файлов

Значение

-rwx------

Обычный файл, доступный владельцу для чтения, записи и выполнения. Никто другой не имеет прав доступа к файлу

-rw-------

Обычный файл, доступный владельцу для чтения и записи. Никто другой не имеет прав доступа к файлу

-rw-r--r--

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

-rwxr-xr-x

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

-rw-rw----

Обычный файл, доступный для чтения и записи только владельцу и членам группы

Lrwxrwxrwx

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

drwxrwx---

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

drwxr-x---

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