我希望能够根据用户的LDAPnetworking组成员身份validation用户(通过ssh)到特定的主机组。 LDAP服务器是dsee7。 发行版是OEL 6.5,以openldap作为客户端。
我们不想使用LDAP进行身份validation的唯一帐户是root用户。
sssd.conf看起来像这样:
[sssd] config_file_version = 2 services = nss,pam,autofs domains = default [nss] filter_groups = root filter_users = root reconnection_retries = 3 entry_cache_timeout = 300 entry_cache_nowait_percentage = 75 [pam] [domain/default] auth_provider = ldap ldap_id_use_start_tls = True chpass_provider = ldap cache_credentials = True ldap_search_base = dc=e-durp,dc=com id_provider = ldap ldap_uri = ldaps://lvl1.lvs01.edurp.com/ ldaps://lvl1.lvs01.edurp.com/ ldap_tls_cacertdir = /etc/openldap/cacerts
/etc/openldap/ldap.conf如下所示:
URI ldaps://ldap.edurp.com/ ldaps://ldap1.edurp.com ldaps://ldap2.edurp.com BASE dc=edurp,dc=com TLS_CACERTDIR /etc/openldap/cacerts TLS_CACERT /etc/openldap/cacerts/ldap_ca.cert TLS_REQCERT never
nsswitch.conf看起来像这样:
passwd: files compat shadow: files compat passwd_compat: sss shadow_compat: sss group: files sss hosts: files dns bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files sss netgroup: sss files publickey: nisplus automount: files ldap aliases: files nisplus
和/etc/pam.d/system-auth的内容如下:
auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_sss.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_sss.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password sufficient pam_sss.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_sss.so
所以我尝试添加一个networking/etc/security/access.conf像这样:
#- : ALL : ALL -:@eeederp: ALL
并重新启动sssd以防万一。 。 。
我的用户属于networking组eeederp,仍然能够使用他的LDAP密码。
任何线索将不胜感激。
我已经成功使用Netgroups对AD进行了Red Hat 6身份validation。 我正在尝试使用旧的Sun LDAP服务器进行身份validation,并且没有运气。 我可以看到networking组,我可以看到用户“getent netgroup {networking名称},我可以su给用户。但是,当我尝试login它不起作用。
我可以告诉你从我的AD身份validation是你的networking组声明是你想要的相反。 当你开始 – 这意味着不要让他们login。 尝试将其切换到+含义允许此networking组中的用户login。
也可以使用getent命令来检查是否可以看到你的用户和networking组。 getent passwd {用户名} getent netgroup {networking名称}
记住,getent还会查看本地文件(如nsswitch.conf中定义的),以确保信息仅可通过LDAP获得。
希望这可以帮助,
担
不是pam的专家,但是如果使用access.conf,则需要对pam_access.so的引用。 也许:需要帐户pam_access.so
testing时只保留一个root shell。 我设法locking了一个坏的pam编辑的root用户。
如果您使用上面所述的SSSD,那么nsswitch.conf条目应该如下,以使“compat glibc mode”工作起作用
/etc/nsswitch.conf中
passwd: compat passwd_compat: sss
和你的/ etc /密码应该有以下内容
-@eeederp
不
-@eeederp:x:::::
禁用该networking组中的任何用户@eeederp来访问服务器。 不知道为什么access.conf不起作用。 然而这将工作。