Sudo: Ключова Команда для Користувачів Linux
Команда терміналу `sudo` є однією з найвідоміших і найчастіше використовуваних команд у світі Linux. Вона дозволяє звичайним користувачам виконувати команди з правами адміністратора (root) без необхідності постійно перемикатися між обліковими записами. Це не тільки зручно, а й підвищує безпеку системи, оскільки усуває потребу в безпосередньому вході в систему як root для виконання адміністративних завдань.
У більшості сучасних дистрибутивів Linux, `sudo` налаштовується автоматично під час інсталяції, що робить його готовим до використання відразу після встановлення системи.
Інсталяція Sudo
Іноді трапляється, що `sudo` не встановлений або не налаштований автоматично. У таких випадках його необхідно встановити вручну. Цей процес є досить простим і стандартним для всіх дистрибутивів Linux. Щоб дізнатися про необхідні пакети для встановлення `sudo`, відвідайте Pkgs.org. Також, нижче наведено інструкції для встановлення `sudo` у різних дистрибутивах Linux.
Примітка: Наступні інструкції призначені для встановлення `sudo` в дистрибутивах, де він не налаштований одразу.
Debian
su -
apt-get install sudo
Arch Linux
su -
pacman -S sudo
Fedora
su -
dnf install sudo
OpenSUSE
su -
zypper install sudo
Gentoo/Funtoo
su -
emerge app-admin/sudo
Керування Доступом до Sudo Через Групи
Один з найпростіших способів керувати користувачами, які мають доступ до `sudo`, це додати їх до спеціальної групи. Зазвичай, користувачі додаються до групи “wheel” або “sudo”, і саме ця група отримує права на використання `sudo`.
Для того, щоб визначити, яка група використовується у вашій системі, скористайтеся командою `cat` для перегляду файлу `/etc/sudoers`:
su -
cat /etc/sudoers | more
Вам потрібно знайти рядок, який починається з “Дозволити учасникам групи sudo виконувати будь-яку команду”. Нижче має бути один з цих двох рядків:
%sudo ALL=(ALL:ALL) ALL
або
%wheel ALL=(ALL:ALL) ALL
Залежно від того, яка група вказана (sudo
або wheel
), додайте вашого користувача до відповідної групи:
su -
usermod -a -G sudo ім'я_користувача
або
usermod -a -G wheel ім'я_користувача
Повторіть цей процес для кожного користувача, якому потрібен доступ до `sudo`.
Додавання Користувачів безпосередньо до Файлу Sudoers
Інший спосіб надання доступу до `sudo` – це безпосередньо вказати користувачів у файлі `/etc/sudoers`. Це більш складний метод, але корисний, якщо ви не хочете використовувати систему груп. Для цього:
su -
Тепер, коли ви увійшли як root, редагуйте файл `/etc/sudoers` за допомогою команди `visudo`. **УВАГА:** Не намагайтеся редагувати цей файл напряму, це може призвести до проблем! Замість цього використовуйте:
EDITOR=nano visudo
Це відкриє файл `/etc/sudoers` у текстовому редакторі Nano. Прокрутіть до розділу “Специфікація привілеїв користувача” і додайте новий рядок для потрібного користувача:
ім'я_користувача ALL=(ALL:ALL) ALL
Збережіть (Ctrl + O) та закрийте (Ctrl + X) Nano. Тепер вказаний користувач зможе використовувати `sudo`.
Sudo Без Пароля
Для того, щоб дозволити користувачам виконувати команди з `sudo` без введення пароля, потрібно внести зміни до файлу `/etc/sudoers`. Деякі дистрибутиви Linux мають підтримку цієї функції, інші – ні.
Щоб перевірити, чи підтримує ваша система цю функцію, скористайтеся:
cat /etc/sudoers/ | more
Перш за все, необхідно закоментувати наступні рядки (або один з них):
%sudo ALL=(ALL:ALL) ALL
або
%wheel ALL=(ALL:ALL) ALL
Це відключить звичайний запит пароля для `sudo`. Після цього, знайдіть розділ “Те саме без пароля” і розкоментуйте відповідний рядок, видаливши символ `#`. Збережіть файл (Ctrl + O, Ctrl + X). Після цього `sudo` має працювати без запиту пароля.
Відключення Sudo для Певних Користувачів
Найкращий спосіб відключити `sudo` для певних користувачів – це використовувати описані вище способи і додавати доступ тільки для тих користувачів, кому він дійсно потрібен. Якщо ви використовуєте систему груп, то щоб позбавити користувача доступу, його необхідно виключити з відповідної групи:
su -
gpasswd -d sudo ім'я_користувача
або
gpasswd -d wheel ім'я_користувача
Після видалення користувача з групи, він не зможе використовувати `sudo`.