Вступ
У Linux права доступу визначають, хто може читати, писати або виконувати файл, тому розуміння цих дозволів є важливою частиною обслуговування та захисту ваших систем. Ці права встановлюються для трьох різних типів користувачів:
- Власник: Користувач, який володіє файлом.
- Група: Набір користувачів, які поділяють одні й ті ж права доступу.
- Інші: Всі інші користувачі.
У цьому посібнику ми пояснимо, як налаштувати дозволи на файли в Linux за допомогою різних команд і прийомів.
Типи дозволів
У Linux існують три основні типи дозволів, які визначають доступ до файлів і директорій: читання, запис і виконання. Кожен з цих дозволів може бути встановлений для трьох категорій користувачів: власника, групи та інших.
Тип дозволу | Для файлів | Для директорій |
---|---|---|
Читання | Дозвіл на читання вмісту файлу. | Дозвіл на перегляд вмісту директорії (імен файлів та піддиректорій). |
Запис | Дозвіл на зміну вмісту файлу. | Дозвіл на зміну вмісту директорії (створення, видалення або перейменування файлів та піддиректорій). |
Виконання | Дозвіл на виконання файлу як програми. | Дозвіл на вхід до директорії (можливість використовувати команду cd для переходу в цю директорію). |
Представлення
У Linux дозвола можуть мати як символьне так і вісімкове представлення
Тип дозволу | Cимвольне представлення | Вісімкове представлення |
---|---|---|
Читання | r | 4 |
Запис | w | 2 |
Виконання | x | 1 |
Відсутність прав | – | 0 |
Ці значення складаються для представлення різних прав. Наприклад:
7
(читання + запис + виконання) = 4 + 2 + 1 =rwx
6
(читання + запис) = 4 + 2 =rw-
5
(читання + виконання) = 4 + 1 =r-x
4
(читання) =r--
3
(запис + виконання) = 2 + 1 =-wx
2
(запис) =-w-
1
(виконання) =--x
0
(відсутність прав) =---
При встановленні прав доступу за допомогою chmod
, ви вказуєте тризначне вісімкове число. Наприклад команда:
chmod 755 filename
встановлює права доступу:
rwxr-xr-x
де:
7
(власник) =rwx
5
(група) =r-x
5
(інші) =r-x
Спеціальні права доступу
Існують три спеціальні права доступу, які можуть бути застосовані до файлів і директорій:
- Setuid (Set User ID): Коли встановлено для виконуваного файлу, процес буде виконуватися з правами власника файлу.
- Setgid (Set Group ID): Коли встановлено для виконуваного файлу, процес буде виконуватися з правами групи файлу. Коли встановлено для директорії, нові файли, створені в цій директорії, успадковують групу.
- Sticky Bit: Коли встановлено для директорії, тільки власник файлу може видаляти або перейменовувати файл у цій директорії.
Представлення спеціальних прав доступу
Тип дозволу | Cимвольне представлення | Вісімкове представлення |
---|---|---|
Setuid | s(замість x для власника) | 4(префікс) |
Setgid | s(замість x для групи) | 2(префікс) |
Sticky Bit | t(замість x для інших) | 1(префікс) |
Приклади спеціальних прав доступу:
- Setuid:
chmod 4755 filename
- Setgid:
chmod 2755 filename
- Sticky Bit:
chmod 1755 directoryname
Всі ці типи дозволів дозволяють точно контролювати доступ до файлів і директорій у системі Linux, забезпечуючи гнучкість і безпеку.
Перегляд прав доступу
Ви можете переглянути права доступу до файлів за допомогою команди:
ls -l
Ця команда виведе детальний список файлів і директорій разом з їхніми правами доступу, власниками та групами.
Зміна прав доступу
Ви можете змінити права доступу до файлів за допомогою команди chmod
. Ось кілька прикладів:
1. Використання символьного режиму:
chmod u+rwx,g+rx,o+r filename
u
= користувач (власник)g
= групаo
= іншіa
= всі (користувач, група та інші)
Давайте розглянемо декілька прикладів.
Наприклад дана команда додасть право на виконання для власника:
chmod u+x filename
Чи давайте встановимо право на читання для інших:
chmod o=r filename
Ну, або видалимо право на запис для групи:
chmod g-w filename
2. Використання вісімкового режиму
Встановимо права доступу rwxr-xr-x
за допомогою вісімкового режиму:
chmod 755 filename
Висновок
Розуміння та налаштування дозволів на файли в Linux має вирішальне значення для підтримки безпеки та цілісності вашої системи. У цьому посібнику ми розглянули які є доступа, та як налаштувати доступа в Linux