Перейти к основному содержимому
Модуль 4 · Урок 1 из 28/11 в курсе~12 min
Уроки модуля (1/2)

Управление разрешениями (chmod)

В Linux доступ к файлам и каталогам регулируется системой разрешений. Каждый файл/каталог принадлежит пользователю владельцу и группе пользователей.

Разрешения делятся на три категории получателей:

  1. Пользователь (u): владелец файла.
  2. Группа (g): члены группы, связанной с файлом.
  3. Другие (о): все остальные в системе.

Для каждой категории разрешены или запрещены три типа действий:

  • Чтение (r): просмотр содержимого файла или содержимого каталога.
  • Запись (w): редактирование файла или создание/удаление файлов в каталоге.
  • Выполнить (x): запустить файл (например, сценарий) или войти в каталог.

Типичное обозначение, отображаемое ls -l: -rwxr-xr-x. Первый символ указывает тип (например, - для файла, d для каталога), за которым следуют три тройки для user, group и others.


Изменение разрешений: chmod

Команда chmod (изменение режима) позволяет изменять права доступа к файлам. Существует два основных способа их указания:

1. Символический режим

Использует буквы и операторы (+, -, =) для добавления, удаления или установки разрешений:

Bash
chmod u+x script.sh    # Adds execute permission (x) to the owner (u)
chmod g-w file.txt     # Removes write permission (w) from the group (g)
chmod a+r file.txt     # Makes the file readable by everyone (all: u, g, o)

2. Восьмеричный режим (числовой)

Использует три восьмеричные цифры от 0 до 7, где каждая цифра представляет собой сумму разрешений категории (r=4, w=2, x=1):

  • 7 = rwx (4 + 2 + 1)
  • 6 = rw- (4 + 2)
  • 5 = r-x (4 + 1)
  • 4 = r-- (4)
  • 0 = --- (нет разрешений)
Bash
chmod 755 script.sh    # Owner: rwx (7), Group: r-x (5), Others: r-x (5)
chmod 600 private.key  # Owner: rw- (6), Group: --- (0), Others: --- (0)

Попробуйте сами

Упражнение 1. Установите стандартные разрешения

Упражнение#linux.m4.l1.e1
Попыток: 0Загрузка…

Установите разрешения для «script.sh», чтобы владелец мог читать, записывать и выполнять (rwx), а группа и другие могли только читать и выполнять (rx). Используйте восьмеричный режим.

Загрузка редактора…
Показать подсказку

Восьмеричный код для rwx — 7 (4+2+1), а для rx — 5 (4+1). Поэтому используйте chmod 755.

Решение доступно после 3 попыток

Упражнение 2. Защитите закрытый ключ

Упражнение#linux.m4.l1.e2
Попыток: 0Загрузка…

Измените разрешения файла «private.key», чтобы сделать его доступным для чтения и записи (rw-) только владельцу, удалив весь доступ для группы и других лиц (---).

Загрузка редактора…
Показать подсказку

Используйте chmod с восьмеричным кодом 600 (владелец имеет 4+2, группа 0, остальные 0).

Решение доступно после 3 попыток

Упражнение 3. Сделайте файл исполняемым для всех

Упражнение#linux.m4.l1.e3
Попыток: 0Загрузка…

Сделайте файл runner.sh исполняемым для всех категорий пользователей, используя символьный режим (a+x).

Загрузка редактора…
Показать подсказку

Используйте синтаксис chmod a+x, за которым следует имя файла.

Решение доступно после 3 попыток