我有一台连接到 LDAP 的 RedHat 7 服务器,应该会自动创建主文件夹。根据 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