Модульні уроки (1/2)
Керування дозволами (chmod)
У Linux доступ до файлів і каталогів регулюється системою дозволів. Кожен файл/каталог належить користувачу власнику та групі користувачів.
Дозволи поділяються на три категорії одержувачів:
- Користувач (u): власник файлу.
- Група (g): члени групи, пов’язаної з файлом.
- Інші (o): усі інші в системі.
Для кожної категорії існує три типи дозволених або заборонених дій:
- Читання (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), а група та інші могли лише читати та виконувати (r-x). Використовуйте вісімковий режим.
Показати підказку
Вісімковий код для rwx — 7 (4+2+1), а для r-x — 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 спроб