Com o Linux PAM, você pode encadear os módulos de autenticação. Basta definir todos os módulos PAM necessários para serem verificados em required
no arquivo de configuração apropriado.
Da documentação:
When a server invokes one of the six PAM primitives, PAM retrieves the chain for the facility the primitive belongs to, and invokes each of the modules listed in the chain, in the order they are listed, until it reaches the end, or determines that no further processing is necessary (either because a binding or sufficient module succeeded, or because a requisite module failed.) The request is granted if and only if at least one module was invoked, and all non-optional modules succeeded.
Portanto, se todos os métodos de autenticação tiverem êxito, use requisite
. No entanto, se o primeiro dos dois métodos auth falhar, ele terminará imediatamente.
Se você quiser ocultar o fato de que um determinado auth-methode falhou, use required
. Mesmo se um módulo falhar, ele continuará a verificar outros métodos, apenas para falhar no final.
Se você precisar apenas de um desses métodos para ter sucesso (significa: muitos podem falhar, apenas uma autenticação bem-sucedida é suficiente), use sufficient
.
Consulte as Políticas da cadeia de Pam para obter mais detalhes.