У меня есть сервер RedHat 7, который подключен к LDAP и должен автоматически создавать домашние папки. В соответствии с рекомендацией RedHat я использую pam_oddjob_mkhomedir.so
. Все работает нормально, если пользователь ни разу не авторизовался в системе.
Проблема возникает, если домашняя папка была удалена, они обрабатываются как рабочие области в этой системе. После удаления домашние папки не создаются заново, и пользователя приветствуют
Could not chdir to home directory /home/users/username: No such file or directory
Может кто-нибудь пролить свет на это?
ОБНОВИТЬ: Я обнаружил, что это вызывает SELinux. Все работает нормально, если SELinux находится в разрешающем режиме. Я не хочу отключать SELinux, я был бы признателен за любую помощь в его правильной настройке.
Очередное обновление:
Нашел соответствующие журналы в /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