Linux-PAM-1.6.1

Introdução ao Linux PAM

O pacote Linux PAM contém Módulos Plugáveis de Autenticação usados pelo(a) administrador(a) local do sistema para controlar como os aplicativos autenticam usuários(as).

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.

Informação do Pacote

Transferências Adicionais

Documentação Opcional

Dependências do Linux PAM

Opcionais

libnsl-2.0.1, libtirpc-1.3.5, rpcsvc-proto-1.4.4, Berkeley DB (obsoleto), libaudit, libeconf e Prelude

[Nota]

Nota

Shadow-4.16.0 precisa ser reinstalado e reconfigurado depois de instalar e de configurar o Linux PAM.

Configuração do Núcleo

Para o módulo PAM pam_loginuid.so (referido pelo arquivo de configuração PAM system-session, se elogind-255.5 for construído posteriormente) funcionar, um parâmetro de configuração do núcleo precisa ser configurado ou o módulo simplesmente não fará nada:

General setup --->
  [*] Auditing support                                                   [AUDIT]

Instalação do Linux PAM

Primeiro, evite a instalação de um arquivo desnecessário do systemd:

sed -e /service_DATA/d \
    -i modules/pam_namespace/Makefile.am

O arquivo libtool.m4 enviado tem uma configuração inconsistente com a hierarquia /usr do LFS. Esse problema causaria libpam_misc.so lincada com um sinalizador rpath que às vezes pode causar problemas ou até mesmo problemas de segurança. Regenere o sistema de construção para corrigir a inconsistência:

autoreconf -fi

Se você baixou a documentação, [então] desempacote o tarball emitindo o seguinte comando.

tar -xf ../Linux-PAM-1.6.1-docs.tar.xz --strip-components=1

Compile e vincule o Linux PAM executando os seguintes comandos:

./configure --prefix=/usr                       \
            --sbindir=/usr/sbin                  \
            --sysconfdir=/etc                    \
            --libdir=/usr/lib                    \
            --enable-securedir=/usr/lib/security \
            --docdir=/usr/share/doc/Linux-PAM-1.6.1 &&
make

Para testar os resultados, um arquivo de configuração adequado /etc/pam.d/other precisa existir.

[Cuidado]

Reinstalação ou Atualização do Linux PAM

Se você tiver um sistema com Linux PAM instalado e funcionando, seja cuidadoso(a) ao modificar os arquivos em /etc/pam.d, pois seu sistema possivelmente se torne totalmente inutilizável. Se você deseja executar os testes, [então] não precisa criar outro arquivo /etc/pam.d/other. O arquivo existente pode ser usado para os testes.

Você também deveria estar ciente de que make install sobrescreve os arquivos de configuração em /etc/security, assim como em /etc/environment . Se você tiver modificado esses arquivos, [então] certifique-se de produzir uma cópia de segurança deles.

Para uma primeira instalação, crie um arquivo de configuração emitindo os seguintes comandos como o(a) usuário(a) root:

install -v -m755 -d /etc/pam.d &&

cat > /etc/pam.d/other << "EOF"
auth     required       pam_deny.so
account  required       pam_deny.so
password required      pam_deny.so
session  required       pam_deny.so
EOF

Agora execute os testes emitindo make check. Certifique-se de que os testes não produziram erros antes de continuar a instalação. Observe que os testes são muito longos. Redirecione a saída gerada para um arquivo de registro, de forma que você possa inspecioná-lo completamente.

Para uma primeira instalação, remova o arquivo de configuração criado anteriormente emitindo o seguinte comando como o(a) usuário(a) root:

rm -fv /etc/pam.d/other

Agora, como o(a) usuário(a) root:

make install &&
chmod -v 4755 /usr/sbin/unix_chkpwd

Explicações do Comando

--enable-securedir=/usr/lib/security: Essa chave configura o local de instalação para os módulos PAM.

chmod -v 4755 /usr/sbin/unix_chkpwd: O bit setuid para o aplicativo auxiliar unix_chkpwd precisa ser ativado, de forma que processos não root possam acessar o arquivo de sombra.

Configurando Linux-PAM

Arquivos de Configuração

/etc/security/* e /etc/pam.d/*

Informação de Configuração

A informação de configuração é colocada em /etc/pam.d/. Aqui está um arquivo de amostra:

# Início /etc/pam.d/other

auth            required        pam_unix.so     nullok
account         required        pam_unix.so
session         required        pam_unix.so
password        required        pam_unix.so     nullok

# Fim /etc/pam.d/other

Agora, crie alguns arquivos genéricos de configuração. Como o(a) usuário(a) root:

install -vdm755 /etc/pam.d &&
cat > /etc/pam.d/system-account << "EOF" &&
# Inicia /etc/pam.d/system-account

account   required    pam_unix.so

# Termina /etc/pam.d/system-account
EOF

cat > /etc/pam.d/system-auth << "EOF" &&
# Inicia /etc/pam.d/system-auth

auth      required    pam_unix.so

# Termina /etc/pam.d/system-auth
EOF

cat > /etc/pam.d/system-session << "EOF" &&
# Inicia /etc/pam.d/system-session

session   required    pam_unix.so

# Termina /etc/pam.d/system-session
EOF

cat > /etc/pam.d/system-password << "EOF"
# Inicia /etc/pam.d/system-password

# Use resumo 'yescrypt' para encriptação; use sombra e tente usar
# qualquer token de autenticação previamente definido (senha escolhida)
# configurado por qualquer módulo anterior.
password  required    pam_unix.so       yescrypt shadow try_first_pass

# Termina /etc/pam.d/system-password
EOF

Se você deseja ativar o suporte a senhas fortes, [então] instale libpwquality-1.4.5 e siga as instruções naquela página para configurar o módulo PAM pam_pwquality com suporte a senhas fortes.

Em seguida, adicione um arquivo de configuração /etc/pam.d/other restritivo. Com esse arquivo, os aplicativos que reconhecem o PAM não serão executados, a menos que exista um arquivo de configuração específico para esse aplicativo.

cat > /etc/pam.d/other << "EOF"
# Início /etc/pam.d/other

auth        required        pam_warn.so
auth        required        pam_deny.so
account     required        pam_warn.so
account     required        pam_deny.so
password    required        pam_warn.so
password    required        pam_deny.so
session     required        pam_warn.so
session     required        pam_deny.so

# Fim /etc/pam.d/other
EOF

A página de manual do PAM (man pam) fornece um bom ponto de partida para aprender a respeito dos diversos campos e entradas permitidas. O Guia do(a) Administrador(a) do Sistema Linux-PAM é recomendado para informação adicional.

[Importante]

Importante

Você agora deveria reinstalar o pacote Shadow-4.16.0.

Conteúdo

Aplicativo Instalado: faillock, mkhomedir_helper, pam_namespace_helper, pam_timestamp_check, pwhistory_helper, unix_chkpwd e unix_update
Bibliotecas Instaladas: libpam.so, libpamc.so e libpam_misc.so
Diretórios Instalados: /etc/security, /usr/lib/security, /usr/include/security e /usr/share/doc/Linux-PAM-1.6.1

Descrições Curtas

faillock

exibe e modifica os arquivos de registro de falha de autenticação

mkhomedir_helper

é um binário auxiliar que cria diretórios home

pam_namespace_helper

é um aplicativo auxiliar usado para configurar um espaço de nome privado para uma sessão de usuário(a)

pwhistory_helper

é um aplicativo auxiliar que transfere hashes de senha de passwd ou shadow para opasswd

pam_timestamp_check

é usado para verificar se o carimbo padrão de tempo é válido

unix_chkpwd

é um binário auxiliar que verifica a senha do(a) usuário(a) atual

unix_update

é um binário auxiliar que atualiza a senha de um(a) determinado(a) usuário(a)

libpam.so

fornece as interfaces entre os aplicativos e os módulos PAM