Eu tenho um servidor RedHat 7 que é conectado ao LDAP e é suposto criar pastas base automaticamente. De acordo com a recomendação do RedHat, eu uso pam_oddjob_mkhomedir.so
. Tudo funciona bem se o usuário nunca estiver logado no sistema.
O problema ocorre se a pasta inicial foi excluída, eles são tratados como áreas de risco neste sistema. Após a exclusão, as pastas iniciais não são recriadas e o usuário é bem-vindo com
Could not chdir to home directory /home/users/username: No such file or directory
Alguém pode lançar alguma luz sobre isso?
UPDATE: descobri que o SELinux está causando isso. Tudo funciona bem se o SELinux estiver no modo permissivo. Não quero desabilitar o SELinux, agradeço qualquer ajuda em configurá-lo corretamente.
ANOTER UPDATE:
Encontrou alguns logs relevantes em /var/log/audit/audit.log
type=AVC msg=audit(1493820202.276:178): avc: denied { add_name } for pid=2631 comm="mkhomedir" name="robot" scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
type=AVC msg=audit(1493820202.276:178): avc: denied { create } for pid=2631 comm="mkhomedir" name="robot" scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
type=AVC msg=audit(1493820202.276:179): avc: denied { setattr } for pid=2631 comm="mkhomedir" name="robot" dev="0:41" ino=53873787 scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
type=AVC msg=audit(1493820202.277:180): avc: denied { write open } for pid=2631 comm="mkhomedir" path="/nfs-server/host1/home/users/robot/.bash_logout" dev="0:41" ino=53873788 scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=file