próximo acima anterior sumário índice
Próximo: 4. Senhas ``Sombra'' Acima: 4. Autenticação de Usuário Anterior: 2. Serviços   Sumário   Índice

3. Arquivos de Configuração

O diretório /etc/pam.d é utilizado para configurar as aplicações que utilizem PAM (em versões anteriores era utilizado o arquivo /etc/pam.conf. Apesar de ainda ser lido caso não esteja presente em /ect/pam.d, seu uso não é recomendado). Cada aplicação (na verdade, cada serviço) tem o seu próprio arquivo. Um arquivo tem um conteúdo similar a:

#%PAM-1.0  
auth	required  /lib/security/pam_securetty.so 
auth	required  /lib/security/pam_pwdb.so shadow nullok 
auth	required  /lib/security/pam_nologin.so 
account	required  /lib/security/pam_pwdb.so 
password	required  /lib/security/pam_cracklib.so 
password	required  /lib/security/pam_pwdb.so shadow nullok use_authtok 
session	required  /lib/security/pam_pwdb.so

A primeira linha é um comentário (começando por #).

As próximas três linhas definem os três módulos que serão usados na autenticação de usuários. A segunda linha garante que o acesso ao sistema como superusuário somente poderá ser realizado através de terminais que estejam listados no arquivo /etc/securetty, caso ele exista. A terceira linha cria a exigência de informação de senha e sua validação para a liberação de acesso ao sistema. A quarta verifica se o arquivo /etc/nologin existe, e caso isso ocorra, mostra o conteúdo do arquivo e permite acesso ao sistema somente para o superusuário (útil para intervalos de manutenção de sistema). Todos os três módulos serão executados, mesmo que o módulo anterior negue o acesso ao sistema.

Por questões de segurança, o sistema não avisa ao usuário porque seu acesso foi negado, dificultando um eventual acesso indevido.

A quinta linha define os módulos de controle que serão ativados. Por exemplo caso o sistema de senhas sombra esteja ativado, o módulo pam_pwdb.so verificará se a conta ou a senha não estão expiradas, ou se o período de troca obrigatória de senhas não foi atingido.

A sexta linha submete uma nova senha a uma série de testes para garantir que ela não seja facilmente descoberta, por exemplo, por um programa de quebra de senhas baseado em dicionários.

A sétima linha especifica que o programa a ser utilizado na troca de senhas, quando necessário, será o pam_pwdb.so (ele somente será acionado se o módulo auth determinar que a senha deva ser trocada).

A última linha especifica que o módulo pam_pwdb.so deve ser usado para gerenciar a sessão. Atualmente este módulo não tem uma função específica, e pode ser substituído por qualquer outro módulo necessário.

Note que a ordem das linhas em cada arquivo é importante, ainda que não necessariamente em que ordem os arquivos required sejam chamados, há outros indicadores de controle disponíveis. Já que um módulo optional é raramente usado pelo padrão do Conectiva Linux, sufficient e requisite tornam a ordem das linhas importante.

Por exemplo, o arquivo de configuração do comando rlogin tem o seguinte conteúdo:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_pwdb.so shadow nullok

É muito similar ao arquivo de login, porém há uma linha adicional que especifica um módulo extra e a ordem dos módulos é diferente.

Inicialmente pam_securetty mantém a proibição de login do superusuário a partir de terminais sem segurança, o que inibe o rlogin para o superusuário[*]. Caso isso seja necessário (apesar de não recomendado) basta remover esta linha.

Após, o módulo pam_nologin checa a existência do arquivo /etc/nologin conforme descrito anteriormente.

Na terceira linha temos o módulo pam_rhosts_auth.so que autentica o usuário e imediatamente apresenta um retorno positivo ao rlogin sem que a senha seja fornecida. Caso este módulo não autorize o usuário a próxima linha será executada.

Finalmente o módulo pam.pwdb.so executará uma autenticação normal, desde que o módulo anterior já não tenha autorizado o usuário. É possível não solicitar uma senha, caso a checagem do módulo pam_securetty.so não autorize o acesso. Para tanto basta alterar o parâmetro required para requisite.


próximo acima anterior sumário índice
Próximo: 4. Senhas ``Sombra'' Acima: 4. Autenticação de Usuário Anterior: 2. Serviços   Sumário   Índice
www.conectiva.com