ubuntu – ¿Puede un usuario de Linux cambiar su contraseña sin conocer la contraseña actual?

Pregunta:

Estoy configurando algunas cajas de ubuntu y usando el chef de opscode como herramienta de configuración. Sería bastante fácil instalar claves públicas para cada usuario en cada uno de estos servidores y deshabilitar la autenticación de contraseña.

Sin embargo, los usuarios también deberían tener privilegios de sudo , que de forma predeterminada requieren una contraseña.

Si quiero utilizar las claves públicas de los usuarios como método de gestión de acceso y permitir a los usuarios privilegios sudo , ¿significa eso que también debería configurar los usuarios con NOPASSWD: ALL en visduo , o hay alguna forma en que un usuario pueda cambiar? su propia contraseña si solo tienen autenticación de clave pública?

Respuesta:

Sudo, en su configuración más común, requiere que el usuario escriba su contraseña. Por lo general, el usuario ya usó su contraseña para autenticarse en la cuenta, y escribir la contraseña nuevamente es una forma de confirmar que el usuario legítimo no ha abandonado su consola y ha sido secuestrado.

En su configuración, la contraseña del usuario se usaría solo para la autenticación de sudo. En particular, si la clave SSH de un usuario se ve comprometida, el atacante no podrá elevar los privilegios de root en el servidor. El atacante podría colocar un registrador de claves en la cuenta, pero este registrador de claves sería detectable por otros usuarios e incluso podría ser observado automáticamente.

Un usuario normalmente necesita saber su contraseña actual para cambiarla por una contraseña diferente. El programa passwd verifica esto (se puede configurar para que no lo haga, pero esto no es útil o en absoluto deseable en su escenario). Sin embargo, root puede cambiar la contraseña de cualquier usuario sin conocer la anterior; por lo tanto, un usuario con poderes de sudo puede cambiar su propia contraseña sin ingresarla en el indicador de passwd ejecutando sudo passwd $USER . Si sudo está configurado para requerir la contraseña del usuario, entonces el usuario debe haber escrito la contraseña para sudo todos modos.

Puede deshabilitar la autenticación de contraseña de forma selectiva. En su situación, deshabilitaría la autenticación de contraseña en ssh y posiblemente en otros servicios. La mayoría de los servicios en la mayoría de los unices modernos (incluido Ubuntu) usan PAM para configurar métodos de autenticación. En Ubuntu, los archivos de configuración de PAM se encuentran en /etc/pam.d . Para deshabilitar la autenticación de contraseña, comente la línea auth … pam_unix.so en /etc/pam.d/common-auth . Además, asegúrese de no tener PasswordAuthentication no en /etc/ssh/sshd_config para deshabilitar la autenticación de contraseña incorporada de sshd.

Es posible que desee permitir que algunos usuarios administrativos inicien sesión con una contraseña o permitir la autenticación de contraseña en la consola. Esto es posible con PAM (es bastante flexible), pero no podría decirte cómo de mi cabeza; haga una pregunta aparte si necesita ayuda.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım