GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo tener un módulo Pam de respaldo?

Actualmente estoy llegando a entender PAM. En este momento, uso OTP y contraseña, pero quiero poder usar OTP y contraseña y, si eso falla, usar mi YubiKey y contraseña. Estoy en Arch y mi archivo system-auth en el directorio pam.d se ve así:

auth      required  pam_oath.so     usersfile=/etc/users.oath window=30 digits=6 debug
auth      required  pam_unix.so     try_first_pass nullok
auth      optional  pam_permit.so
auth      required  pam_env.so

account   required  pam_unix.so
account   optional  pam_permit.so
account   required  pam_time.so

password  required  pam_unix.so     try_first_pass nullok sha512 shadow
password  optional  pam_permit.so

session   required  pam_limits.so
session   required  pam_unix.so
session   optional  pam_permit.so

Respuesta aceptada:

Arch es Linux PAM (que es diferente de Solaris PAM y FreeBSD PAM) y Linux PAM tiene medios para omitir reglas, por lo que una forma de hacerlo sería en la línea de

auth required pam_unix.so ... # password
auth [success=2 default=bad] pam_yubikey ...
auth [success=1 default=bad] pam_otp ...
auth required pam_deny.so
auth required pam_env.so
...

que para el yubikey si eso funciona debería saltar dos reglas hacia abajo (al env y cualquier paso de configuración de autenticación subsiguiente) y para OTP, una regla hacia abajo para lo mismo, de lo contrario, denegar la autenticación. No estoy seguro de cuál es el default u otras opciones para el [...] los bits deberían ser, así que los configuré para fallar.

Otra opción es una subpila, en el archivo de reglas principal tendría algo como:

...
auth substack otp-foo
auth substack yubikey-foo
...

y luego /etc/pam.d/{otp-foo,yubikey-foo} adicional archivos, uno haría if-authgood-or-pam_deny. Sin embargo, en este caso se probarán ambos (Linux PAM funciona en todas las subpilas) a diferencia del ejemplo anterior en el que, si funciona yubikey, se salta la comprobación de otp.


Linux
  1. Linux:¿cómo recargar correctamente un módulo del kernel?

  2. ¿Cómo uso ioctl() para manipular mi módulo kernel?

  3. ¿Cómo codificar un módulo del kernel de Linux?

  4. ¿Cómo hacer una copia de seguridad cifrada similar a rsync?

  5. ¿Cómo hacer una copia de seguridad diferencial en Linux?

Cómo crear un módulo de Terraform

Cómo realizar una copia de seguridad de un clúster de Elasticsearch

Cómo mejorar la seguridad de los usuarios de Linux con la configuración del módulo de autenticación conectable

Cómo hacer una copia de seguridad de la base de datos de WordPress a través de MySQL

Cómo hacer una copia de seguridad de la base de datos de WordPress a través de phpMyAdmin

Cómo instalar el módulo 'Python-Pexpect' en Linux