有没有人用sssd使用access.conf和netgroup身份validation?

我希望能够根据用户的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不起作用。 然而这将工作。