РІШЕННЯ 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.