Instalação automatizada do módulo PAM

2

Estou tentando configurar um processo de instalação automatizada para um módulo PAM que fornece autenticação HTTP semelhante a LDAP. Como esse é um módulo de autenticação alternativo, eu precisaria adicionar algo assim:

auth sufficient mypam.so authserver=https://someserver.com

Como meu aplicativo é um daemon que 'escuta' a autenticação do usuário, ele realmente não merece seu próprio arquivo de configuração, então ele teria que lixiviar para outra coisa (como GDM, SSH, etc).

Eu basicamente tenho duas opções aqui:

  • Anexe ou preencha os arquivos de configuração apropriados (e registre todas as alterações)
  • Saída das linhas para adicionar sugestões para o administrador do sistema editar manualmente

Qual destas duas opções um administrador * prefere?

Existem outras abordagens que eu esteja perdendo que um administrador * nix preferiria?

Nota:

Estou tentando comercializar isso para um administrador de sistemas para uso generalizado em um ambiente corporativo. Isso também pode ser comercializado para usuários finais, mas nesse caso eu faria a primeira opção por padrão.

    
por beatgammit 09.07.2011 / 07:26

1 resposta

3

Eu não acho que fazer alterações automatizadas no arquivo de configuração do pam seja uma boa ideia.

  1. Existem tantas configurações possíveis que é impossível prever em qual linha de configuração devemos inserir as nossas.
  2. Às vezes, as configurações são colocadas em muitos arquivos e incluídas na configuração principal.
  3. O usuário pode querer usar seu back-end de autorização apenas para serviços especificados, como ssh ou ftp, não em todo o sistema.
  4. Na pior das hipóteses, a manipulação de cenários em pam config pode causar:
    • bloqueio de login no sistema (quando você não tiver configurado seu banco de dados e fila de módulos para verificar finalidades no seu módulo)
    • sem efeito (quando você o coloca depois de pam_permit )
    • possibilidade de login usando qualquer credencial (aleatória) (?)

A boa idéia é fornecer alguns exemplos de arquivos de configuração nos quais você mostra como usar seu módulo para: efetuar login usando apenas o banco de dados, efetuar login usando seu banco de dados ou usuários do sistema, etc.

    
por 09.07.2011 / 09:10