我想要完成的是如果我改变LDAP中的用户属性没有壳; 例如:/ etc / noshell,我不希望用户ssh成功。 我改变了一个用户的属性:
# check62, people, wh.local dn: uid=check62,ou=people,dc=wh,dc=local uid: check62 cn: Johnny Appleseed objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e1NTSEF9dklpL2pQcWtNWDBFSUs1eUVDMUMxL2FjWHdJNGRuUXY= shadowLastChange: 15140 shadowMax: 99999 shadowWarning: 7 uidNumber: 6002 gidNumber: 6002 homeDirectory: /home/check62 loginShell: /bin/noshell # check62, group, wh.local dn: cn=check62,ou=group,dc=wh,dc=local objectClass: posixGroup objectClass: top cn: check62 gidNumber: 6002 userPassword:: e0NSWVBUfXg=
这是我的/etc/pam.d/sshd文件
#%PAM-1.0 auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session optional pam_keyinit.so force revoke session include password-auth
用户使用/ bin / bash成功validation。 展示塞子。 任何帮助将不胜感激。
这是我的密码authentication文件
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_ldap.so account sufficient pam_ldap.so account required pam_permit.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 sufficient pam_ldap.so 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_ldap.so
在ldap之前将files或compat放在/etc/nsswitch.conf是常见的做法,但是如果这个人拥有本地帐户,它将覆盖LDAP设置。
试试这个: getent passwd check62
这将显示来自所有来源的该用户的passwd数据库条目。 如果最上面的条目包含/bin/bash而不是/bin/noshell ,则需要更改服务器优先级的数据库中的shell,或者调整sorting以首先显示LDAP。 后者通常不被推荐。
(免责声明:如果您使用PADL的nss_ldap而不是nss-pam-ldapd ,则首先放置ldap是一个更糟糕的想法,因为LDAP查找不会发送到守护进程,每个进程都必须处理NSS查找期间的超时。确定你知道你的服务器在LDAP服务器无法访问的时候会如何运行。)