Як додати користувача до кореневої групи та надати йому привілеї в Linux (безпечно та надійно)

Надання користувачеві привілеїв root в системі Linux – це потужне і небезпечне завдання. Воно необхідне для керування серверами, автоматизації або надання системним адміністраторам повного контролю – але його слід виконувати правильно і безпечно, щоб не наражати систему на вразливості або незворотні помилки.

У цій статті ми розглянемо, як додати користувача до групи root, надати йому привілеї root, а також розглянемо найкращі практики та наслідки для безпеки.

розуміння привілеїв Linux і групи root

У Linux root – це суперкористувач з необмеженим доступом. Однак, звичайні користувачі ніколи не повинні працювати безпосередньо від імені root. Замість цього можна делегувати привілеї:

  • Механізму sudo (за допомогою /etc/sudoers або /etc/sudoers.d/)
  • Доступу на основі груп (призначення користувачів до групи root або sudo, залежно від дистрибутива)

⚠️ Перед початком роботи

  • Ви повинні мати привілеї sudo або root.
  • Використовуйте ці кроки лише для довірених користувачів.
  • Завжди створюйте резервну ко пію або тестуйте в ізольованому середовищі.

🛠️ Крок за кроком: Додавання користувача до кореневої групи та надання привілеїв

крок 1: Створіть користувача (якщо він не існує)

sudo adduser alice
ім’я користувача: alice (ви можете вибрати своє ім’я користувача)

Вам буде запропоновано встановити пароль і необов’язкові метадані для користувача alice.

крок 2: Додайте користувача до групи root або sudo

У системах на основі Debian/Ubuntu використовується група sudo:

sudo usermod -aG sudo alice

У RHEL/CentOS/Fedora використовуйте групу wheel:

sudo usermod -aG wheel alice

wheel – це традиційна група Unix, яка використовується для адміністративного доступу.

Якщо ви дійсно хочете додати користувача безпосередньо до кореневої групи (не рекомендується):

sudo usermod -aG root alice

це може порушити межі безпеки, особливо якщо у ваших налаштуваннях PAM або SSH для користувача root встановлені інші параметри.

крок 3: Перевірте членство в групі

groups alice

Очікуваний результат:

крок 4: Надання або редагування привілеїв Sudo (необов’язково, але безпечніше)

Явне надання привілеїв за допомогою sudo:

  1. Відредагуйте файл sudoers безпечно за допомогою visudo:
    sudo visudo
  2. Додати:
    alice ALL=(ALL) NOPASSWD:ALL

🔐 Ви можете обмежити команди або додати вимогу пароля, якщо це необхідно:

alice ALL=(ALL) ALL

✅ Бонус: Тестові привілеї

Увійдіть або перейдіть до користувача:

su - alice

Перевірте кореневий доступ:

sudo whoami

Очікуваний результат:

🚫 Попередження безпеки: Не робіть це легковажно

  • Уникайте додавання користувачів до власне кореневої групи, якщо це не потрібно для сумісності зі старими системами.
  • Надавайте перевагу групі sudo або wheel з обмеженими командами за допомогою правил sudoers.
  • Стежте за журналами за допомогою:
    sudo journalctl -xe | grep alice

🔐 Додаткова порада: Надання привілеїв root лише для певних команд

У /etc/sudoers або /etc/sudoers.d/alice:

alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

Це дозволить користувачеві перезапустити тільки Nginx – більш безпечний підхід.

🧩 Виправлення неполадок

ПроблемаРішення
Користувач все ще не може запустити sudoВийдіть і увійдіть знову (або перезапустіть сеанс)
“Користувача немає у файлі sudoers”Перевірте синтаксис /etc/sudoers за допомогою visudo
SSH не дозволяє вхідПеревірте /etc/ssh/sshd_config на наявність AllowGroups

Крок 5: Видалення користувача з групи sudo або root

Якщо вам потрібно відкликати привілеї sudo або root у користувача, ви можете видалити його з відповідної групи за допомогою наступної команди:

Видалення користувача з групи sudo

sudo deluser username sudo

Замініть username на ім’я користувача. Ця команда видаляє користувача з групи sudo, позбавляючи його можливості виконувати команди від імені суперкористувача.

Видалення користувача з кореневої групи

sudo deluser username root

висновок

Додавання користувача до групи root або надання привілеїв root в Linux є простим у виконанні, але складним за наслідками. Для довгострокової безпеки і стабільності:

  • Використовуйте sudo, а не прямий доступ root.
  • Застосовуйте принцип найменших привілеїв.
  • Регулярно контролюйте використання та аудит журналів.

🛡️ Пам’ятайте: З великою владою приходить велика відповідальність – особливо на виробничому сервері.