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

Керування дозволами (chmod)

У Linux доступ до файлів і каталогів регулюється системою дозволів. Кожен файл/каталог належить користувачу власнику та групі користувачів.

Дозволи поділяються на три категорії одержувачів:

  1. Користувач (u): власник файлу.
  2. Група (g): члени групи, пов’язаної з файлом.
  3. Інші (o): усі інші в системі.

Для кожної категорії існує три типи дозволених або заборонених дій:

  • Читання (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), а група та інші могли лише читати та виконувати (r-x). Використовуйте вісімковий режим.

Завантаження редактора…
Показати підказку

Вісімковий код для rwx — 7 (4+2+1), а для r-x — 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 спроб