Ao usar o PAM, esses programas podem determinar se um usuário é quem eles afirmam ser. Com o PAM, os usuários podem obter acesso fornecendo nomes de usuário e senhas armazenadas em protocolos virtuais, como Kerberos ou LDAP. Os usuários também podem fornecer certificados, tokens ou biometria para autenticação.
E, diferentemente dos protocolos de autenticação típicos, PAM ou módulos de autenticação travável, é uma interface de programação de aplicativos (API). Assim, em vez de reescrever códigos para cada programa ou aplicação para garantir a compatibilidade do PAM, o PAM modifica os códigos de origem convenientemente.
O diagrama abaixo detalha alguns dos programas que você pode se integrar com o PAM e os métodos utilizados.”
Tutorial do Linux Pam
Idealmente, o PAM fornece um sistema de login unificado para programas e aplicativos Linux. Mas para usar PAM corretamente, este tutorial será útil.
Verifique os sistemas Linux que são compatíveis com Pam
O uso de Pam começa com a verificação se o programa que você pretende usar é com reconhecimento ou não. E você pode verificar isso usando este comando;
Como alternativa, você pode usar o comando abaixo para listar os programas ou serviços Linux que usam Pam. O comando permite que você verifique o conteúdo do diretório.
Uma listagem usando o comando acima sempre produzirá um resultado semelhante ao que está na figura abaixo;
Abrir qualquer arquivo de serviço mostrará que cada arquivo tem três colunas. A primeira coluna significa o grupo de gerenciamento, a coluna do meio representa as bandeiras de controle e a terceira é o módulo usado para cada categoria.
Na figura acima, a "conta" representa o grupo de gerenciamento, "exigido" é a bandeira de controle, enquanto o "pam_nologin.Então ”é o módulo usado. Uma quarta coluna pode existir ocasionalmente e isso representará os parâmetros do módulo.
Crie ou edite arquivos de configuração do PAM para PAM-ified Serviços ou programas
Como servidor Linux ou administrador do sistema, você pode listar todos os módulos PAM apropriados para implementar a política de acesso para qualquer programa. A lista é conhecida como uma pilha. Você precisará invocar cada módulo, conforme listado na pilha do arquivo de configuração para um programa específico. Obviamente, isso deve acontecer antes de autenticar qualquer usuário.
Você pode alterar o arquivo de configuração configurado para um programa, caso um determinado módulo falhe. Essa modificação permitirá que você implemente políticas mais complexas, como a autenticação com o LDAP primeiro ou a tentativa de arquivos locais, caso falhem.
Por exemplo, o HWBrowser é escrito para usar o Linux Pam para autenticar usuários. O /etc /pam.D controla o mesmo conjunto de módulos nos arquivos de configuração. Você pode editar o arquivo de configuração do programa para permitir que você aplique as políticas de acesso desejadas.
Essa é a aparência padrão do arquivo de configuração do programa antes de editar;
Como é evidente acima, o arquivo contém uma listagem das DLLs para uso, com alguns contendo detalhes adicionais.
3. Usando PAM para restringir raiz Acesso ou admissão ao SSH
Notavelmente, o PAM também é útil para desativar o acesso do usuário root a programas ou sistemas via SSH e outros programas de login. Você pode conseguir isso restringindo o acesso aos serviços SSHD e Login.
O/lib/segurança/pam_listfile.O mesmo acontece com o seu módulo preferido, pois oferece imensa flexibilidade para limitar as capacidades e privilégios de determinadas contas. Abra e edite os arquivos de destino no /etc /pam.d/ usando qualquer um dos comandos abaixo;
OU
Qualquer que seja o caso, adicione o resultado abaixo aos dois arquivos;
Empilhamento usando linux pam
Finalmente, não gostaríamos de terminar um tutorial de PAM sem discutir o empilhamento, pois o PAM suporta. Este conceito permite que um serviço ou programa específico use vários mecanismos. Você pode criar uma pilha no arquivo de configuração criando várias entradas para o programa de destino com um arquivo Module_type semelhante.
Você pode invocar os módulos na ordem em que eles aparecem na pilha. O campo Control_flag especifica o resultado final.
Notavelmente, o PAM CONTROL_FLAGS tem o seguinte comportamento;
Isso /etc /pam.Conf é um exemplo de empilhamento típico em Pam para o programa de login no tipo auth_module.
Conclusão
Pam é uma API robusta que permite que serviços e programas em sistemas Linux autentiquem usuários. Embora permaneça vital para a autenticar os usuários em um ambiente Linux, entender e usar o Linux Pam pode ser um pesadelo para técnicos iniciantes. Este tutorial teve como objetivo facilitar todo o processo. Felizmente, alcançou seu objetivo.
Fontes: