SOLUCIÓN 1: newgrp
Una forma sencilla de abordar su caso de uso sería usarlo :NOPASSWD
en combinación con un grupo y contraseña de grupo:
Agregue una línea a los sudoers:
%rudo ALL=(ALL:ALL) NOPASSWD:ALL
Cree un grupo protegido con contraseña:
groupadd rudo
gpasswd rudo # Enter passwd
Ahora, cuando inicie sesión como un usuario sin privilegios (suponiendo que aún no esté en el rudo
grupo), inicie sesión en el rudo
grupo, momento en el que se le solicitará la contraseña.
login user
newgrp rudo
Ahora puede ejecutar sin sudo
contraseña, siempre y cuando permanezca conectado al grupo.
SOLUCIÓN 2: runaspw
Una forma mejor y posiblemente más segura de hacer esto runaspw
. runaspw
está asociado con la runas_default
opción, por lo que también debe agregar esa opción.
Suponiendo que ya tiene la %sudo
entrada de grupo predeterminada :
%sudo ALL=(ALL:ALL) ALL
agregue estas líneas al archivo sudoers:
Defaults:%sudo runas_default=sudo
Defaults:%sudo runaspw
Ahora agregue un nuevo sudo
usuario con una contraseña:
useradd sudo -d /nonexistent -s /usr/sbin/nologin -MNr
passwd sudo
Ahora se solicitará a los usuarios del grupo sudo la contraseña del usuario de sudo, pero solo los usuarios del grupo sudo podrán sudo (a diferencia de la solución de grupo anterior, donde cualquiera en el grupo o con la contraseña del grupo podría sudo).
Un problema menor es que el usuario de runas predeterminado ahora es sudo
así que para sudo como root, debe especificar explícitamente root:
sudo -u root <cmd>
Pero es bastante fácil definir un alias ( alias sudo='sudo -u root'
) o un comando sudo indirecto.