A documentação para try_first_pass
e use_first_pass
parece bastante razoável:
try_first_pass
Before prompting the user for their password, the module
first tries the previous stacked module's password in case
that satisfies this module as well.
use_first_pass
The argument use_first_pass forces the module to use a
previous stacked modules password and will never prompt the
user - if no password is available or the password is not
appropriate, the user will be denied access.
try_first_pass
usa a senha inserida anteriormente, se houver, e solicita o contrário. use_first_pass
usa a senha inserida anteriormente, se houver, e falha, caso contrário. Mas também há uma use_authtok
opção:
use_authtok
When password changing enforce the module to set the new
password to the one provided by a previously stacked password
module (this is used in the example of the stacking of the
pam_cracklib module documented below).
Para que serve use_authtok
? É exatamente o mesmo que try_first_pass
, ou o mesmo que use_first_pass
, ou é algo completamente diferente?
Aqui está o que eu consegui descobrir graças ao comentário de Andrew , a explicação de Tomáš Mráz e um exame do código-fonte :
Apesar do que a documentação implica,
try_first_pass
não faz absolutamente nada quando aplicado aopam_unix.so
.use_authtok
faz exatamente a mesma coisa queuse_first_pass
quando aplicado apam_unix.so
: Usa a senha inserida anteriormente se houver uma senha inserida anteriormente E essa senha atende aos requisitos de qualidade de senha dos módulos anteriores. Caso contrário, ele falha estritamente.Se nem
use_first_pass
nemuse_authtok
for aplicado apam_unix.so
, o comportamento dependerá se uma senha foi inserida anteriormente. Se não houver uma senha inserida anteriormente,pam_unix.so
solicita gentilmente uma. Se houve,pam_unix.so
se comporta como seuse_first_pass
ouuse_authtok
foi definido.Isso é tudo para
pam_unix.so
. Cuidado com issotry_first_pass
,use_first_pass
euse_authtok
funcionam de forma diferente em outros módulos do PAM.