Antecedentes:
não estou muito familiarizado com os meandros da autenticação pam e LDAP no lado da configuração. Eu usei sistemas que usam o pam, mas só trabalhei em aplicativos, não nos próprios sistemas.
Perguntas:
Usando o pam para controlar a autenticação via LDAP, isso significa que um diretório inicial não será criado no sistema?
Caso contrário, eu criaria usuários no servidor ou enviaria os usuários ao sistema a partir de uma fonte LDAP?
Respostas:
Isto é exatamente o que
pam_mkhomedir
foi feito.O
pam_mkhomedir
módulo pode criar o diretório inicial do usuário no login, se esse diretório não existir.Como instalá-lo depende da sua distribuição. Mas você precisaria colocá-lo em um ou mais arquivos
/etc/pam.d
.Por exemplo, no meu sistema, tenho o
/etc/pam.d/system-login
que está incluído em todos os outros serviços que realizam login (ssh, gdm, etc).Eu colocaria
pam_mkhomedir.so
nasession
pilha, como:Onde você coloca, é totalmente dependente do que mais há na pilha. Mas você deve colocá-lo antes de qualquer outra coisa que possa precisar do diretório inicial.
Veja
man 8 pam_mkhomedir
as opções que ele suporta.fonte
auth
pilha em vez desession
). Se o aplicativo não usar a pilha pam, você precisará criar algo no próprio aplicativo.No Ubuntu 14.04
system-login
não está presente, mas outro arquivo nomeado comocommon-session
está presente.Eu fui lá e coloquei:
Isso criará o diretório inicial, se não existir, configure também a permissão para
700
fonte
umask=0022
. Acredito que o seu remove TODOS os recursos, inclusive oread
que pode impedir que alguns mecanismos de autenticação / confiança baseados em chave funcionem em um sistema multiusuário ou em outros casos.Eu recomendo usar o oddjob-mkhomedir :
Para o Centos 7, isso funciona:
Acrescente isso a
/etc/pam.d/system-auth
e/etc/pam.d/password-auth
:E finalmente:
Foi publicada originalmente aqui: https://www.centos.org/forums/viewtopic.php?t=48631
Nota: Se você acabou de montar sua
/home
partição, não se esqueça de fazerrestorecon /home
fonte