Estou estudando PAM e sou um pouco ignorante sobre o significado de alguma combinação de sinalizadores de controle. Da documentação da Red Hat, temos:
a
falha necessária de tal PAM levará à falha de retorno da API do PAM, mas somente após a invocação dos módulos empilhados restantes (para este serviço e tipo)requisito
como necessário, no entanto, no caso em que tal módulo um retorna uma falha, o controlo é devolvido directamente para a aplicação.o
sucesso suficiente desse módulo é suficiente para satisfazer os requisitos de autenticação da pilha de módulos (se um módulo exigido anteriormente falhar, o sucesso deste módulo será ignorado). Uma falha deste módulo não é considerada fatal por satisfazer o aplicativo que esse tipo teve êxito. Se o módulo for bem-sucedido, a estrutura do PAM retornará o sucesso ao aplicativo imediatamente sem tentar outros módulos.
Portanto, no meu entendimento, se um módulo requisite
falhar, toda a pilha de módulos não será analisada e o controle voltará ao aplicativo imediatamente. Se um módulo sufficient
for bem-sucedido, o restante da pilha de módulos não será analisado e o controle retornará ao aplicativo imediatamente. Se um módulo required
falhar, a pilha inteira será analisada.
Agora, não consigo entender qual será o comportamento quando um determinado módulo required
falhar e outro módulo sufficient
for bem-sucedido.
required
item falhou, por quePAM
precisa continuar avançando na pilha? se finalmente vai falhar mesmo assim?