我在VMware vSphere Client中使用Red Hat 6.4复制了虚拟机,将其移动到另一个networking,并更改了连接到ldap服务器的configuration。 现在我有一个通过LDAPlogin程序的问题。 当我尝试login本地或通过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%
返回有效的答案),并使用PAMlogin。 这是我的/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授权,因为最后一条指令被执行(主目录被创build)。 所以我想另外一件事情就是让我出去。
我检查了/etc/passwd
文件,看起来对我来说很好:
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
在/etc/security/limits.conf
也没有一些auth限制
任何意见,将不胜感激。 谢谢!
PS我没有访问我的旧虚拟机,无法检查是否有可能在那里login。
我想,最后我find了这个问题的原因:login后系统给用户不存在shell:/ sbin / nologin。 添加这个string后:
map passwd loginShell "/bin/bash"
在/etc/nslcd.conf
一切都变好了。