Definição – O que significa Pluggable Authentication Module (PAM)?
Um módulo de autenticação conectável (PAM) é uma interface de programação de aplicativo (API) para serviços relacionados à autenticação, que permite aos administradores de sistema adicionar novos métodos de autenticação instalando PAMs e modificando as políticas de autenticação editando os arquivos de configuração.
Definirtec explica o Pluggable Authentication Module (PAM)
Um módulo de autenticação conectável (PAM) é um mecanismo que integra vários esquemas de autenticação de baixo nível em APIs de alto nível, permitindo que programas que dependem de autenticação sejam gravados independentemente dos esquemas de autenticação subjacentes. O PAM foi proposto inicialmente em 1995 por Vipin Samar e Charlie Lai da Sun Microsystems. Posteriormente, foi adotado como uma estrutura de autenticação para o ambiente de desktop comum.
Embora o PAM tenha aparecido pela primeira vez como um código aberto no Linux, ele é atualmente compatível com AIX OS, Dragon Fly BSD, Free BSD, HP-UX, Linux, Mac OS X, Net BSD e Solaris, entre outros. Ele foi padronizado como parte do processo de padronização do X / Open UNIX, resultando no X / Open, o padrão de logon único.
O PAM pode ser configurado para negar aos programas o direito de autenticar usuários e para alertar certos programas de uma tentativa de autenticação. Esses programas usam o módulo PAM e são anexados aos aplicativos em tempo de execução.
A API PAM oferece seis primitivas de autenticação agrupadas em quatro facilidades: autenticação, conta, sessão e senha. A autenticação é um recurso que se preocupa em autenticar os candidatos e estabelecer as credenciais da conta, além de fornecer duas primitivas, pam_authenticate e pam_setcred. A primitiva anterior autentica o requerente solicitando um token de autenticação e comparando-o com um valor armazenado em um banco de dados ou obtido do servidor de autenticação. O pam_sercred inicia as credenciais da conta, como ID do usuário, associação ao grupo e limites de recursos.