Linux
目前使用 AD 對 Linux 進行身份驗證的最佳實踐 (2013)
據我所知,有 3 種(常用)方法可以使用 Active Directory 作為 Linux 主機的身份驗證和授權:
- LDAP
- Kerberos
- 桑巴/Winbind
關於哪種方法是最佳實踐是否有(目前)共識?
我從來沒有完全清楚每種方法的優缺點,但是每個文件/教程都以不同的方式說明,並且沒有多少是過時的,也沒有解釋為什麼他們使用特定的方法。
我現在使用的方法是SSSD。它非常輕鬆,配置文件很乾淨。SSSD 可以在安裝時啟用,也可以通過
authconfig
命令 UI 執行。我最近將大約 200 台 Linux 伺服器從本地身份驗證轉換為 SSSD,並使用了以下步驟。這假設一個類似 Red Hat 的系統(RHEL、CentOS、Fedora)……
- 下載固態硬碟。
yum install sssd
2)。修改系統的 authconfig 設置。
authconfig –enablesssd –ldapserver=ldap://dc1.mdmarra.local –ldapbasedn=“dc=mdmarra,dc=local” –enablerfc2307bis –enablesssdauth –krb5kdc=dc1.mdmarra.local –krb5realm=MDMARRA .LOCAL –disableforcelegacy –enablelocauthorize –enablemkhomedir –updateall
3)。使用以下內容更新 /etc/sssd/sssd.conf 配置文件內容:
# sssd.conf [domain/default] ldap_id_use_start_tls = False ldap_schema = rfc2307bis ldap_search_base = dc=mdmarra,dc=local krb5_realm = MDMARRA.LOCAL krb5_server = dc1.mdmarra.local id_provider = ldap auth_provider = krb5 chpass_provider = krb5 ldap_uri = ldap://dc1.mdmarra.local,ldap://dc2.mdmarra.local krb5_kpasswd = dc1.mdmarra.local,dc2.mdmarra.local krb5_kdcip = dc1.mdmarra.local,dc2.mdmarra.local cache_credentials = True ldap_tls_cacertdir = /etc/openldap/cacerts ldap_force_upper_case_realm = True ldap_user_object_class = person ldap_group_object_class = group ldap_user_gecos = displayName ldap_user_home_directory = unixHomeDirectory ldap_default_bind_dn = ldapuser@mdmarra.local ldap_default_authtok_type = password ldap_default_authtok = fdfXb52Ghk3F [sssd] services = nss, pam config_file_version = 2 domains = default [nss] filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd [pam] [sudo] [autofs] [ssh]