Ldap

有人使用 sssd 的 access.conf 和 netgroup 身份驗證嗎?

  • May 26, 2016

我希望能夠根據使用者的 LDAP 網路組成員身份向特定主機組驗證使用者(通過 ssh)。LDAP 伺服器是 dsee7。發行版是 OEL 6.5,以 openldap 作為客戶端。

我們不想使用 LDAP 進行身份驗證的唯一帳戶是 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

所以我嘗試向 /etc/security/access.conf 添加一個網路組,如下所示:

#- : ALL : ALL
-:@eeederp: ALL

並重新啟動 sssd 以防萬一。. .

我的使用者屬於網路組 eeederp,並且仍然能夠使用他的 LDAP 密碼進入。

任何線索將不勝感激。

我讓 Red Hat 6 成功使用 Netgroups 對 AD 進行身份驗證。我試圖讓它對舊的 Sun LDAP 伺服器進行身份驗證,但運氣不好。我可以看到網路組,我可以看到具有“getent netgroup {name of netgroup} 的使用者,我可以 su 給使用者。但是當我嘗試登錄時它不起作用。

我可以從我的 AD 身份驗證中告訴您的是,您的 netgroup 聲明與您想要的相反。當您以 - 開頭時,這意味著不允許他們登錄。嘗試將其切換為 + 表示允許此網路組中的使用者登錄。

還可以使用 getent 命令檢查您是否可以正確看到您的使用者和網路組。getent passwd {使用者名} getent netgroup {網路組名稱}

請記住,getent 還會查看您的本地文件(在 nsswitch.conf 中定義)以獲取此資訊,因此請確保該資訊僅可通過 LDAP 獲得。

希望這可以幫助,

引用自:https://serverfault.com/questions/613357