Eu tenho vários arquivos em /etc/pam.d. Eu acho que eles diferem um pouco no nome entre as diferentes distribuições. E também não vejo uma conexão direta entre nome do processo e configuração (por exemplo, chpasswd vs. passwd).
Está em algum lugar ou de alguma forma definido qual aplicativo usa quais arquivos pam?
TL;DR : não há regra; em vez disso, depende da implementação feita pelo desenvolvedor do aplicativo.
VERSÃO LONGA :
Quando um programa usa o PAM para autenticação, ele deve chamar
pam_start()
:O primeiro argumento,
service_name
, é o usado para escolher a configuração.Por exemplo, o servidor OpenSSH chama
pam_start()
em seu arquivo de origemauth_pam.c
:A constante
SSH_PAM_SERVICE
é definida (no mesmo arquivo) da seguinte forma:Além disso, o valor de
__progname
é definidossh.c
como:Como você deve saber,
av[0]
em C é o nome do binário. Portanto, se o binário do daemon OpenSSH for nomeadosshd
,pam_start()
será chamado comsshd
oservice_name
.(Observe que ignorei a
ssh_get_progname()
chamada, mas acho que isso ainda é suficiente para ilustrar minha resposta.)