Linux представляет многие ресурсы через файловые интерфейсы, и у каждого объекта файловой системы есть метаданные, управляющие доступом. Умение читать эти метаданные лежит в основе безопасной работы с файлами и каталогами.
Разрешения · Урок 1
Права файлов
Узнайте, как читать типы файлов Linux и биты прав владельца, группы и остальных пользователей.
Чтение подробного списка
Используйте ls -l, чтобы вывести подробный список:
$ ls -ld Desktop/
drwxr-xr-x 2 pete penguins 4096 Dec 1 11:45 Desktop/
Первое поле, drwxr-xr-x, объединяет один символ типа файла и девять символов прав. В списке также указано, что владельцем каталога является pete, а связанной с ним группой — penguins.
Начальный символ описывает тип объекта. К распространённым значениям относятся:
-для обычного файлаdдля каталогаlдля символической ссылки
Существуют и другие специальные типы файлов. Оставшиеся девять символов задают права доступа:
d | rwx | r-x | r-x
Что означает первая d в drwxr-xr-x?
Значение `r`, `w` и `x`
Каждая тройка прав использует следующие символы:
rпредоставляет право чтения.wпредоставляет право записи.xпредоставляет право выполнения.-означает отсутствие соответствующего права.
Для обычного файла чтение разрешает доступ к содержимому, запись — его изменение, а выполнение — попытку ядра запустить файл как программу. Запуск всё равно может завершиться неудачей, если его не допускает формат файла, строка интерпретатора, параметры подключения или другой механизм безопасности.
Для каталога значения относятся к его записям:
- Чтение разрешает перечислять имена в каталоге.
- Запись разрешает создавать или удалять записи, обычно в сочетании с правом выполнения.
- Выполнение, также называемое правом поиска, разрешает проходить через каталог и обращаться к записям по имени.
Удаление файла определяется прежде всего правами его родительского каталога, а не собственным битом записи файла.
Что в первую очередь разрешает право выполнения для каталога?
Классы владельца, группы и остальных
Девять символов режима образуют три тройки в фиксированном порядке:
- Владелец: права используются, когда эффективный идентификатор пользователя процесса совпадает с владельцем файла.
- Группа: права используются, когда подходящий идентификатор группы процесса совпадает с группой файла.
- Остальные: права используются, когда ни один предыдущий класс не совпадает.
Ядро выбирает один подходящий класс, а не объединяет три тройки в поисках наиболее разрешающего результата. Дополнительные механизмы, такие как списки управления доступом, параметры подключения, возможности или мандатное управление доступом, могут дополнительно влиять на окончательное решение.
В примере тройка владельца — rwx, а у группы и остальных — r-x. Владелец может читать каталог, записывать в него и выполнять поиск. Классы группы и остальных могут читать и искать в нём, но обычные биты режима не разрешают им создавать или удалять записи.
В каком порядке после символа типа файла идут три тройки прав?
Какие обычные права имеет класс группы в drwxr-xr-x?
Чтобы закрепить понятия в изолированной среде, пройдите лабораторию Пользователи, группы и права файлов Linux. В ней можно потренироваться читать режимы и менять владельцев и права.
Урок завершён
Вы завершили Права файлов
Теперь вы можете интерпретировать основное поле прав в подробном списке Linux.
Отделяйте символ типа файла от девяти битов прав.
Читайте
r,wиxс учётом того, является объект файлом или каталогом.Делите режим на тройки владельца, группы и остальных.
Сопоставляйте тройки с владельцем и группой из вывода
ls -l.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт