Уроки модуля (1/2)
Управление разрешениями (chmod)
В Linux доступ к файлам и каталогам регулируется системой разрешений. Каждый файл/каталог принадлежит пользователю владельцу и группе пользователей.
Разрешения делятся на три категории получателей:
- Пользователь (u): владелец файла.
- Группа (g): члены группы, связанной с файлом.
- Другие (о): все остальные в системе.
Для каждой категории разрешены или запрещены три типа действий:
- Чтение (r): просмотр содержимого файла или содержимого каталога.
- Запись (w): редактирование файла или создание/удаление файлов в каталоге.
- Выполнить (x): запустить файл (например, сценарий) или войти в каталог.
Типичное обозначение, отображаемое ls -l: -rwxr-xr-x.
Первый символ указывает тип (например, - для файла, d для каталога), за которым следуют три тройки для user, group и others.
Изменение разрешений: chmod
Команда chmod (изменение режима) позволяет изменять права доступа к файлам. Существует два основных способа их указания:
1. Символический режим
Использует буквы и операторы (+, -, =) для добавления, удаления или установки разрешений:
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=---(нет разрешений)
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. Установите стандартные разрешения
Установите разрешения для «script.sh», чтобы владелец мог читать, записывать и выполнять (rwx), а группа и другие могли только читать и выполнять (rx). Используйте восьмеричный режим.
Показать подсказку
Восьмеричный код для rwx — 7 (4+2+1), а для rx — 5 (4+1). Поэтому используйте chmod 755.
Решение доступно после 3 попыток
Упражнение 2. Защитите закрытый ключ
Измените разрешения файла «private.key», чтобы сделать его доступным для чтения и записи (rw-) только владельцу, удалив весь доступ для группы и других лиц (---).
Показать подсказку
Используйте chmod с восьмеричным кодом 600 (владелец имеет 4+2, группа 0, остальные 0).
Решение доступно после 3 попыток
Упражнение 3. Сделайте файл исполняемым для всех
Сделайте файл runner.sh исполняемым для всех категорий пользователей, используя символьный режим (a+x).
Показать подсказку
Используйте синтаксис chmod a+x, за которым следует имя файла.
Решение доступно после 3 попыток