Primero, no todos los ataques requieren conocer la contraseña. Muchos ataques contra servicios (o demonios) atacan vulnerabilidades en el código y terminan en la ejecución del código en nombre de un usuario sin conocer la contraseña. En ese caso, la configuración sudo
predeterminada agrega seguridad al requerir el conocimiento de la contraseña.
Otro ejemplo en un entorno multiusuario es cuando un usuario deja su terminal desatendido (usted y yo sabemos que es malo y nunca lo hacemos nosotros mismos, pero ...) un atacante puede ejecutar comandos en nombre del usuario, pero aún no se puede usar sudo
.
Finalmente, mientras habla de ssh
, el uso común es usar solo una clave (RSA) para la autenticación del usuario. De esa manera, la conexión ssh
nunca usa la contraseña, que solo se usa para una conexión local directa o para obtener acceso a la raíz a través de sudo
. Incluso se puede forzar deshabilitando el uso de la contraseña en la configuración de sshd
. En el caso de un servidor remoto, la contraseña del usuario local se usa solo para obtener acceso de root.
Pero la respuesta real a su pregunta es ¡la opción existe ! El archivo /etc/sudoers
se puede usar para declarar el indicador booleano rootpw
. Si se establece este indicador, la contraseña será la contraseña para root en lugar de la contraseña para el usuario actual.
Si el sudoers
contiene la línea:
Defaults rootpw
entonces se le pedirá la contraseña de root. Esta bandera está desactivada de forma predeterminada y rara vez se usa porque no es realmente una filosofía de sudo
, sino su
one: si conoce la contraseña de root, puede usar directamente su
pasando todos los controles adicionales de sudo
.
sudo
es de hecho un comando altamente versátil, y realmente deberías leer man sudoers