Tengo un dispositivo de tipo raspi en un centro de datos, y recientemente accidentalmente toqué y pegué un comando de apagado en el terminal incorrecto de mi pantalla. ¿Hay alguna manera de mantener shutdown -r
pero eliminar #poweroff
#shutdown -P -H
opciones?
Quiero mantener el shutdown -r
comando Me gusta ponerle un temporizador si logro congelar el sistema o bloquearme con las reglas de la tabla ip. ejemploshutdown -r +10
fuente
systemctl
sin argumentos. Enumerará todas las unidades activas, su estado y descripciones. Agregar--all
y también mostrará una lista de las unidades que no están activas.man systemd.special
.Hay algunas formas de lograr esto. Uno estaría trabajando con una cuenta regular sin privilegios que requerirá ejecutar el comando con sudo e ingresar una contraseña. Luego puede agregar lo siguiente a / etc / sudoers (ejecutando visudo):
Además, para deshabilitar el almacenamiento en caché de credenciales de sudo, agregue también lo siguiente:
Esto evitará el almacenamiento en caché de credenciales en caso de que haya invocado un comando con sudo anteriormente.
Ejemplo:
Observe cómo en el ejemplo anterior no se me solicitó ingresar mi contraseña cuando se ejecutaba
sudo shutdown -r +10
, pero por el resto sí. Si desea eliminar la necesidad de escribir sudo antes del comando (sudo shutdown -r +10
), agregue lo siguiente a su .bash_profile o .bashrc:Ejemplo:
Tenga en cuenta que es una buena práctica trabajar con una cuenta no privilegiada y escalar con sudo cuando sea necesario.
fuente
sudo
la configuración predeterminada tendrá las credenciales de caché durante algún tiempo después de la primera invocación. Esto puede ser conveniente cuando la ejecución repetida de comandos comoroot
se requiere en una sesión de usuario. En dicha sesión (o, de hecho, si seroot
está ejecutando un shell), sería completamente posible realizar la transacción del comandoshutdown
y omitir las comprobaciones.shutdown -r
para no solicitar la contraseña cuando se ejecuta con sudo, por lo tanto, si ejecutasudo shutdown -r ...
las credenciales no se almacenarán en caché, ya que no se ingresarán. Mire el ejemplo que di arriba, puede ver que lo ejecuté seguido de asudo shutdown -H
y se me solicitó la contraseña.sudo
y no era unaNOPASSWD
operación; por ejemplo, una llamada para editar un archivo de configuración como root. En este caso, la contraseña se almacenará en caché y se realizará una llamada posterior asudo shutdown -H
.sudo
El almacenamiento en caché de contraseñas debería deshabilitarse para evitar esto.sudo
que simplemente escribimos la contraseña y seguimos adelante. Vea aquí un enfoque alternativo con sudo (que probablemente sea mucho mejor a pesar de no ser muy bueno).Existe una herramienta llamada molly-guard que requiere que indique el nombre de host de la máquina que desea apagar o reiniciar.
En caso de que no esté utilizando Debian, debería ser trivial compilar esto desde la fuente, dado que el programa es bastante primitivo.
fuente
Para evitar contratiempos, las distribuciones basadas en RHEL ya configuraron alias para
rm
,cp
ymv
que pueden ser algo más destructivos cuando los realiza el usuario root.Puede agregar el suyo, por ejemplo:
fuente
shutdown -r
tiempo que deshabilitashutdown -P -H
?Cambie el nombre del ejecutable de apagado a algo imposible de invocar accidentalmente.
Entonces alias
shutdown
para ser(whatever) -r
fuente
shutdown
a/sbin/shutdown -r
. El cambio de nombre no es necesario; Como la expansión de alias se refiere a una ruta absoluta, no está sujeta a la expansión de alias recursiva.