[Explained] Як додати користувачів до Sudoers в Ubuntu

Перш ніж ми дізнаємося, як додавати користувачів як sudoers в Ubuntu, ми повинні зрозуміти, як ми, ймовірно, дійдемо до цього. Наприклад, коли ви хочете керувати службами або встановити чи оновити програмне забезпечення на Ubuntu. Ви коли-небудь намагалися виконати команду, щоб спробувати будь-що з вищезазначеного, і отримували «Доступ заборонено» як відгук?

Такі випадки вимагатимуть виконання команд від імені root або суперкористувача. Однак такий підхід не рекомендується з міркувань безпеки. Виконання команд від імені root може спричинити проблеми з вашою системою, якщо користувач зіпсує деякі налаштування.

Ubuntu, один із найбільш використовуваних дистрибутивів Linux, має функцію, відому як sudo, яка дозволяє користувачеві виконувати команди з розширеними привілеями замість входу в систему як root.

У цій статті пояснюється, хто такі sudoers, навіщо вам можуть знадобитися sudoers і як їх додати до вашої операційної системи Ubuntu.

Що таке Sudo/Sudoers?

Але чому б не використати команду su або switch user? Команда перемикання користувача дозволяє вам увійти як root. Коли ви запускаєте його, система запитає у вас пароль адміністратора, і ви можете робити свою справу. Ви можете додати нові файли/програмне забезпечення та внести всі зміни. Однак ви можете забути вийти як root, і одна проста помилка може стерти важливі файли або весь жорсткий диск.

Sudo є скороченою формою для «superuser do». Такі користувачі виконують команди з підвищеними привілеями, і вони можуть встановлювати та оновлювати програмне забезпечення або навіть змінювати налаштування системи. Sudoer — це користувач, який має такі права. Користувачі Sudo повинні завжди використовувати ключове слово «sudo», перш ніж виконувати будь-яку команду в Ubuntu. Однак вам не потрібно виходити з системи після виконання ваших команд.

Якщо у вашій системі Ubuntu кілька користувачів, не всі матимуть права sudo. Однак під час інсталяції перший створений вами користувач матиме привілеї sudo за замовчуванням. Тільки користувачі файлу або групи sudoers можуть виконувати команди sudo.

  • Файл sudoers – конфігураційний файл, який визначає, які користувачі можуть використовувати sudo та як.
  • Sudoers group – особлива група користувачів з правами sudo.
  10 причин, чому ви повинні вибрати Kinsta для розміщення сайтів WordPress

Сценарії, коли необхідно надати користувачам доступ sudo

Ви можете дозволити певним користувачам запускати команди sudo на вашому персональному чи офісному комп’ютері. Ви можете дозволити їх, якщо:

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

Важливість надання привілеїв sudo користувачам

  • Покращте безпеку вашої системи: вам не потрібно дозволяти користувачам входити у вашу систему як користувачі root, що може наражати вашу систему на потенційні загрози та помилки. Надання привілеїв sudo дозволяє їм мати доступ лише до того, що їм потрібно.
  • Ви можете налаштувати дозволи: додавання користувачів sudo дозволяє вказати, які команди вони можуть виконувати та коли вони можуть їх запускати. Ви також можете вказати, чи потрібен цим користувачам пароль для виконання таких команд.
  • Це полегшує моніторинг користувачів: ви можете перевірити файл /var/log/auth.log, щоб побачити всі команди, які sudoers виконують у вашій системі.

Передумови для додавання користувача до файлу sudoers

  • Обліковий запис користувача з правами sudo: вам потрібно додати користувача до sudoers, увійшовши в обліковий запис із правами sudo.
  • Ім’я користувача: якщо у вашій системі є кілька користувачів, ви повинні знати ім’я користувача, щоб додати його до файлу або групи sudoers.
  • Текстовий редактор: Ubuntu використовує Nano як редактор за замовчуванням. Однак ви можете змінити на інші.

Додайте користувача до файлу sudoers

Існує кілька підходів до додавання користувачів до файлу sudoers. Однак перед цим нам потрібно створити нового користувача.

Я хочу створити нового користувача з іменем “titus”. Ви можете стежити за:

  • Увійдіть в обліковий запис користувача з привілеями sudo та виконайте цю команду: sudo adduser titus. Ви можете замінити «titus» на ім’я користувача, якого хочете створити.

  • Введіть ваш пароль. Командний рядок запропонує вам ввести пароль.
  • Встановіть новий пароль і підтвердьте його

  • Дотримуйтесь підказок (ви можете вибрати значення за замовчуванням) і натисніть «Y», щоб підтвердити всі деталі.
  Як використовувати приховану функцію Chrome «Надіслати вкладку собі».

Тепер у вас є новий користувач.

Існує два підходи до додавання sudoer в Ubuntu

#1: Додайте користувача до групи sudo

Тепер ми можемо додати створеного користувача до групи sudo. Виконайте цю команду, увійшовши як інший користувач sudo або root.

sudo usermod -aG sudo username

Замініть «ім’я користувача» на ім’я користувача, для якого ви хочете створити sudoer. У моєму випадку командою буде;

sudo usermod -aG sudo titus

Тепер ви додали нового користувача до групи sudo.

#2: Додайте користувача до файлу Sudoers

Ми вже бачили, що типова система Linux, як Ubuntu, має різних користувачів. Таким користувачам можна надати різні дозволи на файли та каталоги Linux у системі. Наприклад, ви можете дозволити користувачам «читати», «записувати» або «виконувати» файли в системі Unix.

Ми можемо визначити, які користувачі можуть використовувати sudo і як, визначивши це у файлі sudoers. Ми використовуємо цей шлях /etc/sudoers, щоб знайти файл 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, ви отримаєте щось схоже на це;

  Що таке статична IP-адреса і як її налаштувати

Якщо користувач не має прав на sudo, ви, ймовірно, отримаєте цю помилку, користувачеві ‘username’ не дозволено запускати sudo на ‘name of your machine’.

Перевірте групи 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: якщо ви вирішите додати програми sudoer, додавши їх до файлу sudoer, завжди використовуйте команду visudo. Після цього перевірте помилки, збережіть і вийдіть з редактора.
  • Використовуйте групи: замість того, щоб додавати окремих користувачів як користувачів sudo, щоразу, коли ви хочете додати нових користувачів, ви можете додати їх до групи. Ви можете мати різні групи, наприклад «адміністратори» та «розробники» з різними правами.
  • Доступ до документів: зберігайте записи про те, кому ви надали привілеї sudo та що вони можуть робити. Такий підхід полегшує підбір нових співробітників у разі зміни.
  • Контроль доступу: Завжди відстежуйте, що різні користувачі, яких ви додали як sudoers, входять у систему. Часті перегляди також дозволяють видаляти користувачів або змінювати привілеї, коли потреби змінюються.

Висновок

Ubuntu є однією з найбільш використовуваних операційних систем адміністраторами та програмістами. Однак ви повинні переконатися, що ви надаєте потрібним користувачам належні привілеї під час доступу до вашої системи.

Тепер ви розумієте, хто такі sudoers і різні підходи до їх додавання в Ubuntu. Таким користувачам більше не потрібно входити у вашу систему з повним доступом, але з обмеженими можливостями, які допоможуть вам виконувати роботу.

Ви також можете ознайомитися з деякими командами продуктивності Linux, щоб знати як системний адміністратор.