Права файлов
100%

Разрешения · Урок 1

Права файлов

Узнайте, как читать типы файлов Linux и биты прав владельца, группы и остальных пользователей.

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 предоставляет право выполнения.
  • - означает отсутствие соответствующего права.

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

Для каталога значения относятся к его записям:

  • Чтение разрешает перечислять имена в каталоге.
  • Запись разрешает создавать или удалять записи, обычно в сочетании с правом выполнения.
  • Выполнение, также называемое правом поиска, разрешает проходить через каталог и обращаться к записям по имени.

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

Что в первую очередь разрешает право выполнения для каталога?

Классы владельца, группы и остальных

Девять символов режима образуют три тройки в фиксированном порядке:

  1. Владелец: права используются, когда эффективный идентификатор пользователя процесса совпадает с владельцем файла.
  2. Группа: права используются, когда подходящий идентификатор группы процесса совпадает с группой файла.
  3. Остальные: права используются, когда ни один предыдущий класс не совпадает.

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

В примере тройка владельца — rwx, а у группы и остальных — r-x. Владелец может читать каталог, записывать в него и выполнять поиск. Классы группы и остальных могут читать и искать в нём, но обычные биты режима не разрешают им создавать или удалять записи.

В каком порядке после символа типа файла идут три тройки прав?

Какие обычные права имеет класс группы в drwxr-xr-x?

Урок завершён

Вы завершили Права файлов

Теперь вы можете интерпретировать основное поле прав в подробном списке Linux.

  • Отделяйте символ типа файла от девяти битов прав.

  • Читайте r, w и x с учётом того, является объект файлом или каталогом.

  • Делите режим на тройки владельца, группы и остальных.

  • Сопоставляйте тройки с владельцем и группой из вывода ls -l.

Сохраните прогресс

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

Создать бесплатный аккаунт
Следующий Урок
Назад к Разрешения