我已经在 VMware vSphere Client 中使用 Red Hat 6.4 复制了 VM,将其移动到另一个网络并更改配置以连接到 ldap 服务器。现在我遇到了通过 LDAP 记录过程的问题。当我尝试在本地或通过 ssh 登录时,系统立即将我注销。这是我尝试通过 ssh 连接时 /var/log/secure 中的消息:
Feb 17 13:41:57 %hostname% sshd[1452]: Accepted password for %user_name% from 10.84.176.248 port 30104 ssh2
Feb 17 13:41:57 %hostname% sshd[1452]: pam_unix(sshd:session): session opened for user %user_name% by (uid=0)
Feb 17 13:41:57 %hostname% sshd[1452]: pam_unix(sshd:session): session closed for user %user_name%
所以,我知道我的系统可以连接到 LDAP(命令id %username%
返回有效答案)并使用 pam 进行登录。这是我的/etc/pam.d/system-auth
:
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account required pam_permit.so
account required pam_access.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_mkhomedir.so
我认为我成功通过了 pam 授权,因为执行了最后一条指令(创建了主目录)。所以我想有别的东西让我退出。
我检查了/etc/passwd
文件,对我来说看起来不错:
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
也没有一些身份验证限制/etc/security/limits.conf
任何意见,将不胜感激。谢谢!
PS 我无法访问我的旧虚拟机,也无法检查是否可以在那里登录。
我想,最后我找到了这个问题的原因:登录后系统给用户不存在的shell:/sbin/nologin。添加此字符串后:
一切都
/etc/nslcd.conf
变好了。