Me gustaría configurar el no. Muchas veces se le solicitará al usuario la contraseña (intentos de autenticación) para iniciar sesión, antes de abandonar la sesión. ¿PAM admite este caso? De ser así, ¿puede ayudarme con la configuración necesaria para esto?
Respuesta1
Hay un módulo de contador de inicio de sesión para PAM llamadopam_tally
que se puede utilizar para mantener un recuento de intentos de inicio de sesión y bloquear intentos adicionales si falla una cierta cantidad de intentos de inicio de sesión.
Ejemplo:
En Debian, puede agregar las siguientes líneas para /etc/pam.d/common-auth
darles a los usuarios tres intentos de inicio de sesión antes de que se bloquee la cuenta:
auth required pam_tally.so onerr=fail deny=3 no_magic_root
Esto no_magic_root
evita que el usuario root quede bloqueado.
ComopeterComo se señaló, la unlock_time
opción se puede utilizar para especificar una cantidad de segundos después de los cuales una cuenta bloqueada se desbloqueará automáticamente. Al configurar esta opción en 1
, es decir, bloquear la cuenta durante un segundo, el intento de inicio de sesión se puede cancelar después de un número específico de intentos, y al mismo tiempo se permite al usuario volver a intentarlo (casi) inmediatamente.
Agregar la siguiente línea /etc/pam.d/common-account
restablecerá el recuento de inicios de sesión en un inicio de sesión exitoso:
account required pam_tally.so reset no_magic_root
En Fedora, se pueden agregar ambas líneas a /etc/pam.d/system-auth
.
El acceso a una cuenta bloqueada user
se puede restaurar con la pam_tally
utilidad adjunta de la siguiente manera:
$ pam_tally --user user --reset=0
Respuesta2
Si está intentando controlar cuántas veces se le solicitará a alguien, en lugar de cuántas veces no puede autenticarse, es posible que tenga problemas para administrar esto a través de PAM. Por ejemplo, ssh tiene su propia configuración para esto:
NumberOfPasswordPrompts
Specifies the number of password prompts before giving up. The
argument to this keyword must be an integer. The default is 3.