Отже, якщо root може робити все, що таке sudo і навіщо нам потрібні користувачі sudo на нашому Debian?
Що таке Судо?
Sudo або «суперкористувач do» - це набір привілеїв, які Адміністратор / root може надати іншим користувачам, щоб вони також могли виконувати деякі обмежені повноваженнями операції над Debian, зберігаючи при цьому рівень безпеки та повноваження в системі.
Один із способів надати повноваження користувачам можна просто зробити, поділившись з ними кореневим паролем, не заглиблюючись у судо, але Linux має свої причини:
- Sudo надає тимчасові привілеї користувачам, які можуть бути в будь-який час забрані root. Якби ми натомість поділилися своїм кореневим паролем, потрібно було змінити його, коли привілеї мали бути скасовані.
- Працювати як root у будь-який час - це не найкраща практика безпеки, оскільки помилково можна возитися з чутливими системними налаштуваннями. Тому краще перейти на sudo, а потім назад, коли обмежена операція завершена.
- Усі команди, що виконуються як sudo, реєструються разом із іменем користувача, яке їх виконувало. Це забезпечує підзвітність та аудит для всіх таких користувачів
У цій статті ми пояснимо, як ви можете зробити наступне в системі Debian 10 Buster:
- Надайте користувачеві привілей sudo
- Використовуйте sudo після надання
- Видаліть привілеї sudo у користувача
- Перевірте, які користувачі мають привілеї sudo в системі
Примітка: Зверніть увагу, що лише уповноважений користувач може виконувати всі ці операції на Debian.
Надання привілею Судо Користувачеві
Більшість установок Debian не постачаються із утилітою sudo, встановленою за замовчуванням. Тому спочатку ми встановимо його на нашому Debian-як адміністратор. Відкрийте програму Terminal через рядок пошуку програми запуску програм, а потім увійдіть як root за допомогою такої команди:
$ су -
Система запитає у вас пароль для root; надавши який, ви будете авторизовані як root.
Тепер виконайте такі команди, щоб встановити sudo у вашій системі:
# apt-get update# apt-get install sudo
Тепер утиліта sudo повинна бути встановлена на вашому Debian.
Файл / etc / sudoers містить список користувачів, які мають привілеї sudo в системі. Хоча це текстовий файл, ми не рекомендуємо відкривати його в жодному з доступних текстових редакторів. Одна невеличка помилка може коштувати користувачеві доступу до прав sudo назавжди.
Тому давайте скористаємось найкращим та безпечним способом редагування файлу sudoers, виконавши таку команду:
# visudoЦе відкриє файл sudoers у безпечному режимі. Знайдіть розділ файлу, позначений на наступному знімку екрана, а потім додайте такий рядок:
% користувач ALL = (ALL: ALL) ALL
Я додав користувача на ім'я "sana" як користувача sudo. Вийдіть із файлу, натиснувши Ctrl + X. Потім введіть Y, щоб зберегти змінений файл.
Тепер користувач позначений як користувач sudo і може виконувати багато привілейованих операцій на вашому Debian.
Як користуватися судом після його надання
Увійдіть як користувач, якому надано права sudo на Debian, а потім відкрийте програму Terminal. Давайте зараз перевіримо логін sudo, а також чи зможемо ми виконати будь-яку з обмежених повноважень операцій.
Якщо ви введете таку команду, щоб встановити програвач VLC, ви отримаєте повідомлення про помилку на знімку екрана:
$ apt-get install vlc
Причиною цього є те, що лише авторизований користувач (root або sudo) може додавати та видаляти програмне забезпечення на Debian. Тому ми будемо запускати ту саму команду, що і sudo:
$ sudo apt-get install vlcКоли користувач sudo запускає цю команду, його попросять надати власний пароль.
Після підтвердження як sudo розпочнеться процес встановлення, як показано вище.
Як вилучити Sudo Privilege з користувача
Процес вилучення користувача зі списку sudoers настільки ж простий, як і додавання. Від імені користувача root або користувача sudo відкрийте файл sudoers наступним чином:
# visudoАбо,
$ sudo visudoПотім видаліть або прокоментуйте рядок, який позначає користувача як sudo.
Збережіть файл, і вказаний користувач більше не розпізнається системою як авторизований користувач sudo.
Як перевірити, які користувачі мають привілеї Sudo в системі
Це хороша управлінська перевірка, щоб час від часу з’ясовувати, яким користувачам надано права sudo на систему. Це допомагає вирішити, чий статус судо повинен зберігати, а кого відпускати. Те, що ми шукаємо, - це спосіб скласти список членів групи "sudo".
Наступне використання команди Linux getent дозволить Адміністратору перевірити, які користувачі мають привілеї sudo на вашому Debian:
# getent group sudo
Якщо ви хочете перевірити, чи є певний користувач членом групи sudo, ви можете скористатися командою Linux groups наступним чином:
# групи sudo [ім'я користувача]
Прочитавши цю статтю, ви не тільки зможете диференціювати терміни sudo, root, адміністратор, наглядач тощо, але й безпечно керуватиме, яким із них ви хочете надати права sudo, на своєму Debian.