1.2. Типы файлов
В начале строки режима может стоять не только символ ' — " или d, ведь в каталоге насчитывается до семи различных типов записей (табл. 1.1):
Таблица 1.1. Типы файлов
d | Каталог |
l | Символическая ссылка (указатель на другой файл) |
s | Сокет |
b | Специальный блочный файл |
с | Специальный символьный файл |
p | Файл именованного канала |
— | Обычный файл или, если выразиться точнее, ни один из файлов, перечисленных выше |
1.3. Права доступа к файлам
Давайте создадим файл, используя команду touch:
$ touch myfile
Теперь выполним команду ls -1:
$ ls -1 myfile
-rw‑r--r-- 1 dave admin 0 Feb 19 22:05 myfile
Мы получили пустой файл, и, как и ожидалось, первый символ в строке режима свидетельствует о том, что это обычный файл. В результате выполнения большинства операций по созданию файлов образуются либо обычные файлы, либо символические ссылки (о них говорится ниже).
Права владельца | Права группы | Права остальных пользователей |
rw- | r-- | r-- |
Следующие три символа в строке режима (rw-) описывают права доступа к созданному файлу со стороны его владельца (пользователь dave). За ними следуют символы r--, указывающие на права группы, в которую входит этот пользователь (в данном случае он является членом группы admin). Последние три символа (r--) представляют собой права пользователей, не принадлежащих к данной группе.
Существует три вида разрешений:
r | Право чтения данного файла |
w | Право записи/изменения данного файла |
x | Право выполнения данного файла, если он является сценарием или программой |
Следовательно, строку режима для файла myfile необходимо интерпгретировать следующим образом:
- | rw- | r-- | r-- |
Обычный файл | Владелец может | Пользователи указанной группы могут осуществлять только чтение этого файла | Остальные пользователи также могут осуществлять только чтение этого файла |
осуществлять чтение и запись этого файла |
Возможно, вы обратили внимание на то, что при создании файла myfile владелец не получил право выполнять данный файл. Это связано с ограничениями, установленными по умолчанию в системе. Ситуация прояснится чуть позже, когда мы изучим команду umask.
Рассмотрим несколько дополнительных примеров (табл. 1.2).
Таблица 1.2. Примеры строк режима
Строка режима Результат
r-- --- --- | Доступ к файлу разрешен только владельцу, который может читать содержимое файла, но не имеет права осуществлять запись в файл и выполнять его |
r--r-- --- | Доступ к файлу возможен только для чтения и разрешен владельцу и всем пользователям группы, в которую он входит |
r--r--r-- | Любой пользователь может получить доступ к файлу для чтения, остальные действия запрещены |
rwx --- --- | Владелец имеет полный доступ к файлу, для остальных пользователей файл недоступен |
rwxr‑x --- | Владелец имеет полный доступ к файлу; пользователи группы, в которую входит владелец, могут читать файл и запускать его на выполнение; для остальных пользователей файл недоступен |
rwxr‑x r‑x | Владелец имеет полный доступ к файлу; остальные пользователи могут читать файл и запускать его на выполнение |
rw‑rw- --- | Владелец и пользователи группы, в которую он входит, могут осуществлять чтение и запись файла; для остальных пользователей файл недоступен |
rw‑rw‑r-- | Владелец и пользователи группы, в которую он входит, могут осуществлять чтение и запись файла; остальным пользователям разрешено только чтение файла |
rw‑rw‑rw- | Все пользователи могут осуществлять чтение и запись файла |