Linux-PAM-1.7.0

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.3.

Informação do Pacote

Transferências Adicionais

Documentação Opcional

Dependências do Linux PAM

Opcionais

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

Opcionais (Para construir a Documentação e Páginas de Manual)

docbook-xml-5.0, docbook-xsl-ns-1.79.2, fop-2.10 (para o formato PDF), libxslt-1.1.42 e Lynx-2.9.2 (para o formato de texto simples)

[Nota]

Nota

Shadow-4.17.3 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.17 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

Se você tiver instalado docbook-xml-5.0, docbook-xsl-ns-1.79.2, libxslt-1.1.42 e Lynx-2.9.2 e desejar gerar o formato de texto simples das documentações, modifique meson.build para usar Lynx-2.9.2 em vez de W3m ou Elinks que o BLFS não fornece:

sed -e "s/'elinks'/'lynx'/"                       \
    -e "s/'-no-numbering', '-no-references'/      \
          '-force-html', '-nonumbers', '-stdin'/" \
    -i meson.build

Compile e vincule o Linux PAM executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup ..        \
  --prefix=/usr       \
  --buildtype=release \
  -D docdir=/usr/share/doc/Linux-PAM-1.7.0 &&

ninja

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 ninja install sobrescreve os arquivos de configuração em /etc/security, assim como em /etc/environment. Se você tiver modificado esses arquivos, 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 ninja test. Certifique-se de que os testes não produziram erros antes de continuar a instalação.

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:

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

Agora remova um diretório desnecessário como root:

rm -rf /usr/lib/systemd

Se você não tiver as dependências opcionais instaladas para construir a documentação e baixou a documentação opcional pré construída, novamente como o(a) usuário(a) root:

tar -C / -xvf ../../Linux-PAM-1.7.0-docs.tar.xz

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 permissíveis. O Guia Linux-PAM do(a) Administrador(a) do Sistema em /usr/share/doc/Linux-PAM-1.7.0/Linux-PAM_SAG.txt é recomendado para informações adicionais.

[Importante]

Importante

Você agora deveria reinstalar o pacote Shadow-4.17.3.

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.7.0

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