O PAM procede pelos itens da pilha em sequência. Ela só mantém a memória do estado em que está (sucesso ou negação, com sucesso significando sucesso até agora), não de como ela chegou a esse estado.
Se um item marcado sufficient
for bem-sucedido, a biblioteca PAM parará o processamento dessa pilha. Isso acontece se houver itens required
anteriores ou não. Neste ponto, o PAM retorna o estado atual: success se nenhum item required
anterior falhou, caso contrário, negado.
Da mesma forma, se um item marcado com requisite
falhar, a biblioteca PAM parará o processamento e retornará uma falha. Nesse ponto, é irrelevante se um item required
anterior falhou.
Em outras palavras, required
não necessariamente faz com que toda a pilha seja processada. Significa apenas continuar.