Керування користувачами і правами доступу в Linux
Вступ
Операційна система Linux спочатку проєктувалася як багатокористувацька. Це означає, що керування користувачами, групами та правами доступу є базовим механізмом безпеки системи. Коректне налаштування прав дозволяє обмежити доступ до ресурсів, мінімізувати ризики компрометації та забезпечити стабільну роботу серверів і робочих станцій.
У цій статті розглянуто принципи керування користувачами, групами та правами доступу в Linux, а також основні команди та практичні приклади.
Модель користувачів у Linux
У Linux кожен процес і файл належить певному користувачу та групі. Існує три основні типи користувачів:
1. Root (суперкористувач)
-
Має повний доступ до системи
-
UID = 0
-
Може змінювати будь-які файли та налаштування
2. Системні користувачі
-
Використовуються сервісами та демонами (наприклад,
www-data,mysql) -
Зазвичай не мають shell-доступу
-
UID зазвичай < 1000
3. Звичайні користувачі
-
Призначені для роботи людей
-
Обмежені в правах
-
UID ≥ 1000 (у більшості дистрибутивів)
Основні файли керування користувачами
Linux зберігає інформацію про користувачів у системних файлах:
| Файл | Призначення |
|---|---|
| /etc/passwd | Основна інформація про користувачів |
| /etc/shadow | Хеші паролів (доступний лише root) |
| /etc/group | Інформація про групи |
| /etc/gshadow | Паролі та адміністратори груп |
/etc/passwd
Керування користувачами
Створення користувача
З автоматичним створенням домашньої директорії:
Або рекомендований варіант (Ubuntu/Debian):
Встановлення пароля
Видалення користувача
Разом із домашньою директорією:
Керування групами
Створення групи
Додавання користувача до групи
Ключ -aG важливий — без -a користувач буде видалений з інших груп.
Перегляд груп користувача
Права доступу до файлів і директорій
Linux використовує модель доступу на основі трьох рівнів:
-
Owner (u) — власник файлу
-
Group (g) — група
-
Others (o) — всі інші
Типи прав
-
r— читання (read) -
w— запис (write) -
x— виконання (execute)
Приклад
Розшифровка:
-
Власник:
rwx -
Група:
r-x -
Інші:
---
Команди керування правами
chmod — зміна прав
Символьний режим
Числовий режим
| Число | Права |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r-- |
chown — зміна власника
Зміна власника та групи:
Рекурсивно:
Спеціальні права доступу
SUID
Запуск файлу з правами власника:
SGID
Успадкування групи:
Sticky Bit
Заборона видалення файлів не власниками:
Керування привілеями через sudo
Файл /etc/sudoers
Редагування тільки через:
Надання sudo-доступу користувачу
Або (RHEL/CentOS):
Обмежений sudo-доступ
Best Practices
-
Не працювати постійно під root
-
Використовувати
sudo -
Мінімізувати права доступу (Principle of Least Privilege)
-
Використовувати групи для керування доступом
-
Регулярно перевіряти права файлів
-
Не надавати
777без необхідності