¿Cómo hacer que sudo acepte la contraseña automáticamente sin solicitarla?

¿Cómo hacer que sudo acepte la contraseña automáticamente sin solicitarla?

Creé un usuario llamado cerrado para que cada vez que uno inicie sesión con ese nombre de usuario, la máquina se apague. Para eso coloqué el siguiente comando al final del .profile.

exec sudo shutdown -h now

Pero esto no sirvió para nada. Cuando el usuario cierra el inicio de sesión, en lugar de que la máquina se apague, vuelve la pantalla de inicio de sesión. Por lo tanto, el usuario no puede iniciar sesión pero al mismo tiempo vuelve a la misma pantalla de inicio de sesión.

La razón que creo es que debido a que no se proporciona la contraseña para el cierre del usuario, la máquina no se apaga. Y gracias al ejecutivo, la pantalla de inicio de sesión vuelve (lo cual está bien).

Ahora, para resolver mi trabajo, necesito una manera de que tome automáticamente mi contraseña cuando se ejecute el comando sudo anterior. Lo marqué man sudoy creo que -Ase debe usar la opción.

Siguiendo esa página de manual, corrí

SUDO_ASKPASS=/home/ravbholua/pass.txt

export SUDO_ASKPASS

Luego, para comprobar si está funcionando, ejecuté

ravbholua@ravbholua-Aspire-5315:~$ sudo -A pwd

sudo: unable to run /home/ravbholua/pass.txt: Permission denied

A partir de este resultado, significa que este archivo de ruta debe ejecutarse y proporcionar mi contraseña como resultado para sudo. Lo que antes pensé es que tomaría la contraseña de este archivo llamado pass.txt, así que ingresé mi contraseña en este archivo. ¡¡¡¡¡¡¡Pero no!!!!!!!

¡Cualquier sugerencia por favor!

Respuesta1

Se supone que SUDO_ASKPASS es un binario que solicita una contraseña al usuario. Un ejemplo de uso sería tener una ventana emergente en una GUI pidiendo al usuario que escriba su contraseña cuando esté usando un programa GUI. La página de manual dice lo siguiente:

Especifica la ruta a un programa auxiliar utilizado para leer la contraseña si no hay terminal disponible o si se especifica la opción -A.

Para hacer lo que desea, probablemente desee editar su archivo /etc/sudoers para permitir que el usuario 'cerrado' pueda ejecutar el apagado sin especificar una contraseña. La siguiente línea permite al usuario 'apagar' ejecutar '/sbin/shutdown -h now' y '/sbin/shutdown -r now' en 'TODAS' las máquinas.

cerrar TODO = NOPASSWD: /sbin/shutdown -h ahora, /sbin/shutdown -r ahora

Una opción más insegura sería usar la opción '-S' de sudo para leer la contraseña de la entrada estándar y repetir la contraseña de esta manera:

eco "contraseña" | sudo -S apagado -h ahora

información relacionada