Командная строка Linux. Полное руководство - [31]
В главе 10, где рассказывается о процессах, вы узнаете, что некоторые из этих других «пользователей» в действительности существуют не просто так.
Несмотря на то что во многих Unix-подобных системах обычных пользователей включают в общую группу, такую как users, в современных дистрибутивах Linux принято создавать для каждого пользователя свою, уникальную группу с одним членом и именем, совпадающим с именем пользователя. Это упрощает распределение определенных типов привилегий.
Чтение, запись и выполнение
Права доступа к файлам и каталогам определяются в терминах права на чтение, права на запись и права на выполнение. Если взглянуть на вывод команды 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--- | Каталог. Владелец может входить в каталог, создавать, переименовывать и удалять файлы внутри каталога. Члены группы могут входить в каталог, но не могут создавать, переименовывать и удалять файлы внутри каталога |
chmod — изменение режима доступа к файлу
Для изменения режима (прав) доступа к файлу или каталогу используется команда chmod. Имейте в виду, что права доступа к файлу или каталогу может изменить только владелец. Команда chmod поддерживает два разных способа изменения режима: с использованием восьмеричных чисел и символического представления. Сначала рассмотрим использование восьмеричных чисел.
Восьмеричная (по основанию 8) и родственная ей шестнадцатеричная (по основанию 16) системы счисления часто используются для представления чисел в компьютерах. Мы, люди, рождаемся с десятью пальцами на руках (по крайней мере большинство из нас), поэтому для счета используем систему счисления с основанием 10. Компьютеры, напротив, рождаются с одним пальцем и потому используют для вычисления двоичную систему счисления (по основанию 2). Их числа состоят всего из двух цифр, нуля и единицы. Поэтому в двоичной системе счет выглядит так: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011...