Você está certo: /etc/passwd
e /etc/shadow
são consultados por pam_unix.so
, que fazem parte do PAM. Pelo menos nos Linuxes modernos. Você poderia mudar isso remendando pam_unix.so
. Se for necessário acreditar na página do manual, você não poderá alterar a localização dos bancos de dados do sistema.
E você realmente não quer. /etc/passwd
não é usado apenas para autenticação, ele também é usado para resolução de nomes (reversa) e para procurar coisas como o nome completo do usuário, shell, etc. O nome e a localização são tão padronizados que movê-los quase certamente quebraria as coisas fora do PAM. Você teria que consertar muito mais do que esperava.
Atualização: Se você está tentando ocultar os arquivos /etc/{passwd,shadow,group}
para segurança, não se preocupe. Segurança pela obscuridade raramente ajuda como uma política. Deixe-os onde estão e aperte o resto das suas políticas.
Atualização: uma possível solução
Se você tiver algum software personalizado, você precisa acessar um conjunto diferente de bancos de dados de usuários / grupos, você pode fazer uma cópia dos módulos PAM e NSS relevantes e atualizá-los para usar seus bancos de dados personalizados. Os bancos de dados unix originais ficam onde estão, portanto, o software não é confuso, mas você pode configurar o PAM e o NSS para usar seus módulos personalizados sempre que precisar e usar qualquer política que faça sentido para você.
Mantenha os bancos de dados Unix essencialmente originais e você tem o que pediu. Isso é praticamente o que os módulos radius
e ldap
PAM / NSS fazem: eles fornecem uma fonte adicional de credenciais e informações de usuário / grupo.
Indo um passo adiante: você pode voltar ao PAM e ao NSS e desabilitar completamente as pesquisas de banco de dados unix. Deixe os arquivos lá para o software antigo (naturalmente, suas visões dos bancos de dados do usuário / grupo serão imprecisas, mas pelo menos elas não serão quebradas).