Перш ніж заглибитися в процес надання користувачам прав sudo в Ubuntu, важливо зрозуміти, чому взагалі це може знадобитися. Наприклад, коли потрібно керувати системними сервісами або встановлювати та оновлювати програмне забезпечення. Чи стикалися ви коли-небудь з ситуацією, коли при спробі виконати щось із вищезгаданого отримували повідомлення “Доступ заборонено”?
Такі ситуації вимагають виконання команд з правами root, тобто суперкористувача. Однак, з міркувань безпеки, цей підхід не рекомендується. Виконання дій під root може спричинити проблеми, якщо користувач випадково внесе небажані зміни до системи.
Ubuntu, один з найпопулярніших дистрибутивів Linux, пропонує функцію sudo, яка дозволяє користувачам виконувати команди з підвищеними привілеями без необхідності входу в систему як root.
У цій статті ми розглянемо, хто такі sudoers, навіщо вони потрібні та як їх додати до вашої операційної системи Ubuntu.
Що таке Sudo/Sudoers?
Може виникнути запитання, чому не використовувати команду su (switch user)? Ця команда дозволяє увійти як root. Після її виконання система запросить пароль адміністратора, і ви зможете виконувати необхідні дії. Можна додавати нові файли, встановлювати програми та вносити будь-які зміни. Проте, легко забути вийти з облікового запису root, і одна невелика помилка може призвести до видалення важливих файлів або навіть всього жорсткого диска.
Sudo – це абревіатура від “superuser do”. Користувачі з правами sudo можуть виконувати команди з розширеними привілеями, встановлювати, оновлювати програмне забезпечення або змінювати системні налаштування. Sudoer – це користувач, якому надано такі права. Користувачі Sudo повинні завжди використовувати ключове слово “sudo” перед виконанням будь-якої команди в Ubuntu. При цьому, після виконання дій їм не потрібно виходити з системи.
Якщо в вашій Ubuntu декілька користувачів, не всі вони матимуть права sudo. Зазвичай, перший користувач, створений під час інсталяції, автоматично отримує ці привілеї. Лише користувачі, зазначені у файлі або групі sudoers, можуть використовувати команду sudo.
- Файл sudoers – це конфігураційний файл, який визначає, які користувачі мають право використовувати sudo та як саме.
- Група sudoers – це спеціальна група користувачів з правами sudo.
Ситуації, коли необхідно надати користувачам доступ sudo
Надання прав sudo може знадобитися в різних ситуаціях, як на персональному, так і на робочому комп’ютері. Наприклад:
- Якщо у вас є команда адміністраторів або розробників, які повинні виконувати завдання, що вимагають прав root, наприклад, встановлення програмного забезпечення або оновлення системи.
- Якщо ви бажаєте обмежити доступ користувачів до певних файлів або каталогів системи, не надаючи їм повний доступ.
- Якщо у вас є гостьовий користувач, якому потрібно виконати одноразове завдання, що вимагає прав root, наприклад, встановлення та налаштування специфічного програмного забезпечення або оновлення системи.
Важливість надання привілеїв sudo користувачам
- Підвищення безпеки системи: Замість того, щоб дозволяти користувачам входити в систему як root, що може створити ризики та помилки, надання привілеїв sudo дозволяє їм мати доступ лише до необхідних ресурсів.
- Гнучке налаштування дозволів: Додавання користувачів до sudo дозволяє чітко визначити, які команди вони можуть виконувати і коли, а також чи потрібен пароль для їх виконання.
- Зручний моніторинг дій: Файл /var/log/auth.log містить записи про всі команди, що виконуються користувачами sudo, що дозволяє відстежувати їх дії.
Передумови для додавання користувача до файлу sudoers
- Обліковий запис з правами sudo: Для додавання нового користувача до sudoers, потрібно увійти в систему під обліковим записом, що вже має такі права.
- Ім’я користувача: Якщо у вашій системі багато користувачів, вам потрібно точно знати ім’я користувача, якого ви хочете додати до файлу або групи sudoers.
- Текстовий редактор: За замовчуванням Ubuntu використовує редактор Nano, але ви можете використовувати будь-який інший.
Додавання користувача до файлу sudoers
Існує декілька способів додати користувача до файлу sudoers. Спочатку потрібно створити нового користувача.
Припустимо, ми хочемо створити нового користувача з іменем “titus”. Для цього:
- Увійдіть до системи під обліковим записом з правами sudo і виконайте команду:
sudo adduser titus
. Замініть “titus” на ім’я користувача, якого ви хочете створити.
- Введіть ваш пароль. Після цього командний рядок запросить вас ввести новий пароль для цього користувача.
- Встановіть новий пароль та підтвердіть його.
- Дотримуйтесь підказок (можна вибрати значення за замовчуванням) та натисніть “Y” для підтвердження всіх даних.
Тепер у вас є новий користувач.
Існує два основних способи додати користувача до sudoers в Ubuntu.
#1: Додавання користувача до групи sudo
Для цього, увійдіть під іншим користувачем sudo або root та виконайте наступну команду:
sudo usermod -aG sudo username
Замініть “username” на ім’я користувача, якого ви хочете зробити sudoer. В нашому випадку це буде:
sudo usermod -aG sudo titus
Тепер новий користувач доданий до групи sudo.
#2: Додавання користувача до файлу Sudoers
Як вже згадувалося, типова система Linux, така як Ubuntu, має різних користувачів. Цим користувачам можна призначити різні дозволи на файли та каталоги. Наприклад, можна надати права “читати”, “записувати” або “виконувати” файли.
Ми можемо визначити, які користувачі можуть використовувати sudo і як, налаштувавши файл sudoers. Цей файл знаходиться за шляхом /etc/sudoers.
Припустимо, у вас вже є користувач без прав sudo. Для його додавання виконайте наступні дії:
- Відкрийте термінал.
- Для відкриття файлу скористайтеся командою:
sudo visudo
Система попросить вас ввести пароль.
- Відредагуйте файл. Після виконання команди ви побачите щось подібне:
У мене є користувач “kamunya”, якому я хочу надати повні права sudo.
Знайдіть розділ, що виглядає так:
# User privilege specification
root ALL=(ALL:ALL) ALL
Додайте рядок, що дозволяє ‘kamunya’ мати всі права sudo:
kamunya ALL=(ALL:ALL) ALL
- Збережіть зміни та вийдіть з редактора. Для цього можна використовувати комбінації клавіш: Ctrl+O (зберегти) та Ctrl+X (вийти).
Тепер ви додали нового користувача sudo, використовуючи файл sudoers. Якщо потрібно надати користувачу (kamunya) певні права, наприклад, оновлення програмного забезпечення без введення пароля, можна скористатися таким рядком:
kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade
Як перевірити, чи має користувач права sudo
Можливо, ви виконали всі дії, але все ще не впевнені, чи є певні користувачі sudoers. Для перевірки можна скористатися наступними способами:
Використання команди sudo
Перевіримо, чи є користувач “titus” sudoer. Команда буде:
sudo -l -U titus
Замініть “titus” на ім’я користувача, якого ви хочете перевірити.
Якщо користувач sudoer, ви отримаєте приблизно такий вивід:
Якщо користувач не має прав sudo, ви отримаєте повідомлення про помилку: “користувачеві ‘username’ не дозволено запускати sudo на ‘назва вашої машини'”.
Перевірка груп sudo
Коли ви створюєте користувача sudo, система автоматично призначає його до групи з ім’ям цього користувача. Наприклад, у мене є користувач sudo “tk”. Перевірити його приналежність до групи можна командою:
groups tk
Замініть “tk” на ваше ім’я користувача.
Ви побачите щось подібне:
Як видалити користувача sudo
Видалення користувача sudo може знадобитися з різних причин, наприклад, якщо ви допустили помилку під час налаштування, або якщо користувач виконував одноразове завдання.
Ви можете видалити користувача з системи Ubuntu через графічний інтерфейс або за допомогою командного рядка. Ось приклад видалення користувача через командний рядок:
- Виконайте команду:
sudo deluser ім'я_користувача
, замінивши “ім’я_користувача” на ім’я користувача, якого потрібно видалити. При цьому файли користувача залишаться.
Я видалив одного зі своїх користувачів (kamunya).
Якщо потрібно видалити також файли користувача, використайте команду:
sudo deluser --remove-home username
В моєму випадку це буде:
sudo deluser --remove-home kamunya
Найкращі методи керування користувачами у файлі sudoers
- Використовуйте команду visudo: Якщо ви вирішили додавати sudoers, редагуючи файл sudoers, завжди використовуйте команду visudo. Вона перевіряє синтаксис файлу на помилки перед збереженням.
- Використовуйте групи: Замість того, щоб додавати окремих користувачів до sudoers, можна створювати групи (наприклад, “адміністратори” та “розробники”) і додавати користувачів до них. Це спростить керування привілеями.
- Ведіть документацію: Записуйте, кому і які привілеї sudo було надано. Це спростить передачу інформації при зміні персоналу.
- Контролюйте доступ: Регулярно переглядайте список користувачів з правами sudo і їх дії. Це дозволить своєчасно видалити користувачів або змінити їх привілеї, коли це буде необхідно.
Висновок
Ubuntu є однією з найпопулярніших операційних систем серед адміністраторів і програмістів. Тому важливо правильно налаштувати привілеї користувачів, які мають доступ до вашої системи.
Тепер ви розумієте, хто такі sudoers і як їх додавати до Ubuntu. Це дозволяє надати користувачам необхідні права, не надаючи повного доступу до системи, і забезпечити її безпеку.
Також, вам може бути цікаво дізнатися про інші команди Linux для підвищення продуктивності.