目前使用AD来授权Linux的最佳实践(2013)

据我所知,使用Active Directory作为Linux主机的身份validation和授权有三种常用的方法:

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

对于哪种方法是最佳做法,有(当前)共识吗?

我从来没有完全清楚每种方法的优点/缺点,但是每个文档/教程都有不同的方式,其中不是很多都是约会或解释为什么他们使用特定的方法。

我现在使用的方法是SSSD 。 这是相当痛苦的,configuration文件是干净的。 SSSD可以在安装时启用,也可以通过authconfig命令UI运行。 我最近从本地authentication中将〜200台Linux服务器转换为SSSD,并使用下面的步骤。

这假设一个类似红帽的系统(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.confconfiguration文件的内容:

 # 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 = [email protected] 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]