РІШЕННЯ 1: newgrp
Найпростішим способом вирішити ваш випадок використання буде використання :NOPASSWDв поєднанні з груповим і груповим паролем:
Додайте рядок до судорів:
%rudo ALL=(ALL:ALL) NOPASSWD:ALL
Створіть захищену групу passwd:
groupadd rudo
gpasswd rudo # Enter passwd
Тепер, коли ви ввійдете як непривілейований користувач (якщо вважати, що ви вже не в rudoгрупі), увійдіть у rudoгрупу, після чого вам буде запропоновано пароль.
login user
newgrp rudo
Тепер ви можете запускати без sudoпароля, поки ви залишаєтесь увійшли до групи.
РІШЕННЯ 2: runaspw
Кращий, можливо, більш безпечний спосіб це зробити runaspw. runaspwпов'язаний з runas_defaultопцією, тому вам доведеться також додати і цей варіант.
Якщо припустимо, що у вас уже є %sudoгруповий запис за замовчуванням :
%sudo ALL=(ALL:ALL) ALL
додати ці рядки до файлу sudoers:
Defaults:%sudo runas_default=sudo
Defaults:%sudo runaspw
Тепер додайте нового sudoкористувача з паролем:
useradd sudo -d /nonexistent -s /usr/sbin/nologin -MNr
passwd sudo
Тепер для користувачів групи sudo буде запропоновано отримати пароль passdo, але лише користувачі групи sudo зможуть судо (на відміну від рішення групи вище, де кожен із групи або з passwd групи може судо).
Невелика проблема - це те, що користувач runas за замовчуванням тепер sudoнастільки, щоб sudo як root, потрібно чітко вказати root:
sudo -u root <cmd>
Але досить просто визначити псевдонім ( alias sudo='sudo -u root') або непряму команду sudo.