Quiero asignar 2 contraseñas a una sola cuenta. Lo que quiero saber es 1) ¿es esto posible y 2) cuáles son las implicaciones de seguridad de esto?
La razón por la que quiero hacer esto es porque actualmente estoy ocupado con algunas pruebas locales, y pensé que sería conveniente en algunas situaciones específicas. Después de algunas investigaciones, encontré algo llamado PAM , pero estoy luchando por encontrar información sobre cómo funciona la instalación / configuración.
Estoy ejecutando Ubuntu 12.04.
sudo
para permitir al usuario1 ejecutar comandos como usuario2. (sudo
No es sólo para ejecutar comandos como root, sino que puede ejecutar comandos como cualquier usuario.)Respuestas:
Sí, aunque es poco común, definitivamente es factible.
En lugar de intentar implementarlo usted mismo, ya que el
/etc/password
/etc/shadow
método de autenticación basado en el predeterminado no tiene una disposición para dicha configuración, la forma más sencilla es delegar la autenticación a un back-end que ya admite múltiples contraseñas para un usuario.Uno bien conocido es LDAP cuyo
userPassword
atributo tiene varios valores de acuerdo con RFC4519 :Un ejemplo de la necesidad de múltiples valores en el atributo 'userPassword' es un entorno donde cada mes se espera que el usuario use una contraseña diferente generada por algún sistema automatizado. Durante los períodos de transición, como el último y el primer día de los períodos, puede ser necesario permitir que dos contraseñas para los dos períodos consecutivos sean válidas en el sistema.
A pesar de este RFC, es probable que deba cambiar la configuración de la política de contraseñas en la mayoría de las implementaciones de servidores de directorios para que esta configuración se acepte realmente.
En el lado de Linux, nada prohíbe que lo hagan (en este caso una cuenta llamada
testuser
se le dio tantopass1
ypass2
comouserPassword
valores de atributos):Aquí hay algunas implicaciones técnicas y de seguridad de ese tipo de configuración:
fuente
Intenté crear 2 entradas para un usuario en el
/etc/shadow
archivo y no funcionó. La primera entrada fue la entrada de contraseña que se utilizó.Ejemplo
Creó un usuario de prueba.
Establezca la contraseña en "super123":
Edite manualmente el
/etc/shadow
archivo e hizo una segunda entrada:Luego intente iniciar sesión con la cuenta utilizando las 2 contraseñas.
La primera entrada
/etc/shadow
es lo que se usa, la entrada en la segunda posición nunca funciona, si voltea esto así:Entonces la segunda contraseña funciona y la primera no.
Usa sudo
Este enfoque es un truco total, solo lo usaría
sudo
, es en parte por quésudo
existe.Puede agregar esta entrada a su archivo sudoers (
/etc/sudoers
), lo que permitiría al usuario permiso de Joe hacer cualquier cosa como usted:fuente
sudo
puede hacer eso ... +1Si puedes hacer esto, probablemente no deberías.
La configuración de PAM es algo compleja y hay una verdad sobre los mecanismos de autenticación: hay un conjunto finito de configuraciones correctas pero un conjunto infinito de configuraciones inseguras. Esto hace casi seguro que si intentas cambiar las cosas y no sabes exactamente lo que estás haciendo, arruinarás las cosas.
Si la elección es entre seguridad y "conveniente en algunas situaciones específicas", opte por la primera.
fuente
Puede configurar dos nombres de usuario diferentes, cada uno con su contraseña, para la misma cuenta. Ejecute
vipw
para editar/etc/passwd
manualmente, duplique la línea existente para la cuenta que le interesa y cambie el nombre de usuario (y si le gusta el campo Gecos , el directorio de inicio y el shell). Ejecutevipw -s
y duplique la línea para ese usuario/etc/shadow
. Inicie sesión con el nuevo nombre de usuario y ejecútelopasswd
para cambiar la contraseña del nuevo nombre de usuario. Ahora tiene dos nombres de usuario diferentes, con contraseñas diferentes, para la misma cuenta (el ID de usuario es lo que determina la cuenta).Probablemente no sea una buena idea. Dependiendo de lo que intente hacer, otros enfoques pueden ser más apropiados:
Cree otra cuenta y otorgue a la primera cuenta el derecho de ejecutar comandos como esa cuenta con sudo:
fuente