Algunas veces he ejecutado accidentalmente el comando sudo rm -rf /
.
¿Hay alguna manera de evitar que ejecute este comando? Por ejemplo, ¿puedo deshabilitarlo de alguna manera utilizando el archivo sudoers?
Algunas veces he ejecutado accidentalmente el comando sudo rm -rf /
.
¿Hay alguna manera de evitar que ejecute este comando? Por ejemplo, ¿puedo deshabilitarlo de alguna manera utilizando el archivo sudoers?
Puedes agregar una línea como
%admin ALL = !/bin/rm -rf /
a su archivo sudoers
para evitar la ejecución del comando con las opciones específicas.
O, si desea excluir varios comandos, puede trabajar con alias de comandos
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS
También puedes intentar jugar de forma segura usando
Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /, /bin/rm / *, /bin/rm * /, /bin/rm -rf / *, /bin/rm -rf * /, /bin/rm -fr / *, /bin/rm -fr* /
%admin ALL=!DANGEROUS_CMNDS
pero todavía puede haber otras formas de dispararte en el pie con rm
, así que ten cuidado de todos modos.
Pero tenga en cuenta que todas las coincidencias se realizan en la cadena completa del comando, por lo que sudo rm -rf /Volumes
todavía funcionaría (como cd /; sudo rm -rf .
).
PS: Por supuesto, usa sudo visudo
para editar el archivo sudoers
y NUNCA edita directamente
PPS: obviamente no probé esto con rm
(solo con /bin/echo
en su lugar)
Sé que expresaste la pregunta de una manera que me hace sospechar que no quieres escuchar esta respuesta, pero realmente deberías eliminarte del archivo sudoers si eres propenso a cometer el mismo error una y otra vez.
El problema subyacente es que no tiene alias rm
para ser movido a la papelera (que es claramente cómo lo está utilizando actualmente y en el pasado) o forzó a rm -r
a ser forzado a rm -ri
alias rm='/bin/rm -i'
Siempre puedes sortear el alias con command rm -rf whatever
una vez que hayas entrenado tu mente cuando se mide dos veces, se necesita cortar una vez para el uso de rm -rf
.