Como fazer com que o local / etc / group tenha prioridade sobre o LDAP quando os nomes colidem?

4

Temos uma configuração de LDAP ativa. No entanto, encontramos um problema recentemente devido a alguns nomes de usuários e nomes de grupos existentes nos arquivos locais e no LDAP. Especificamente, o usuário e grupo do apache existiam em:

  • /etc/passwd e /etc/group
  • LDAP como usuário e grupo

Após uma atualização recente do yum (CentOS 5), parece que o ID do grupo do processo foi alterado do valor em /etc/group para o valor no LDAP (enquanto o ID do usuário permaneceu o ID de /etc/passwd ). Como alguns dos arquivos necessários pelo httpd eram de propriedade do usuário root, com o grupo apache (de /etc/group ), mas não legível pelo mundo, isso causou problemas.

Observe que já temos nss_initgroups_ignoreusers apache,... em /etc/ldap.conf e /etc/openldap/ldap.conf . Além disso, em /etc/nsswitch.conf , temos

passwd:     files ldap
group:     files ldap
shadow:     files ldap

e o resto dos bits e bobs normais.

Portanto, se houver um nome no LDAP e nos arquivos locais, existe uma maneira de garantir que o ID dos arquivos locais tenha precedência sobre o ID no LDAP?

    
por Hamish Downer 20.09.2011 / 19:34

1 resposta

5

Não sei se é um erro de digitação no seu exemplo, mas o banco de dados do grupo é chamado group e não groups .

Você deve ser capaz de forçar a pesquisa a parar após uma pesquisa bem-sucedida, por exemplo,

passwd:    files [SUCCESS=return] ldap
group:     files [SUCCESS=return] ldap

O acima deve ser a ação de deafult assim mesmo, então você deve confirmar que o que você está procurando realmente está no files .

NOTES Within each process that uses nsswitch.conf, the entire file is read only once; if the file is later changed, the process will continue using the old configuration.

    
por 20.09.2011 / 19:46