使用 AD 对 Linux 进行身份验证的当前最佳实践 (2013)

fuk*_*wi2 3 linux active-directory authentication best-practices

据我所知,有 3 种(常见)方法可以使用 Active Directory 作为 Linux 主机的身份验证和授权:

  1. LDAP
  2. Kerberos
  3. 桑巴/Winbind

关于哪种方法是最佳实践,是否有(当前)共识?

我从来没有完全清楚每种方法的优缺点,但每个文档/教程都以不同的方式说明,并且没有多少是过时的或解释为什么他们使用特定方法。

eww*_*ite 5

我现在使用的方法是SSSD。这很轻松,配置文件很干净。SSSD 可以在安装时启用,也可以通过authconfig命令 UI运行。我最近将大约 200 个 Linux 服务器从本地身份验证转换为 SSSD,并使用了以下步骤。

这假设了一个类似 Red Hat 的系统(RHEL、CentOS、Fedora)......

1) 下载 SSSD。

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]
Run Code Online (Sandbox Code Playgroud)

  • +1 表示 sssd,-1 表示使用 .local :) (2认同)