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 requisitefalhar, toda a pilha de módulos não será analisada e o controle voltará ao aplicativo imediatamente. Se um módulo sufficientfor bem-sucedido, o restante da pilha de módulos não será analisado e o controle retornará ao aplicativo imediatamente. Se um módulo requiredfalhar, a pilha inteira será analisada.
Agora, não consigo entender qual será o comportamento quando um determinado módulo requiredfalhar e outro módulo sufficientfor bem-sucedido.
requireditem falhou, por quePAMprecisa continuar avançando na pilha? se finalmente vai falhar mesmo assim?