Active-Directory

如何使用 security/sssd 將 Active Directory 與 FreeBSD 10.0 集成?

  • August 2, 2018

sssd使用帶有 Kerberos TGT 的 AD 後端,從在 FreeBSD 10.0 中的 Windows Server 2012 R2 上執行的 Active Directory 對使用者進行身份驗證所需的步驟是什麼?

有一些棘手的考慮因素可以使一切開箱即用。FreeBSD 目前只支持sssd1.9.6 版本。所以不支持企業主體名稱。

如果您的域具有不匹配的 UPN,它將無法登錄,因為在此過程中 Kerberos 身份驗證將失敗,即使 FreeBSD 支持帶有 Kerberos 的企業主體名稱,sssd也無法處理這種情況。

因此,在您的實際版本中,sssd您的使用者主體名稱僅限於同一域名中,例如:

Domain Name = example.com
NetBIOS Name = EXAMPLE
User Principal Name:
username@example.com sAMAccountName: username

知道了這一點,我們可以描述在 FreeBSD 中從 AD 成功驗證使用者的步驟。

  1. 配置 Kerberos

創建/etc/krb5.conf具有以下內容的文件:

[libdefaults]
   default_realm = EXAMPLE.COM
   dns_lookup_realm = true
   dns_lookup_kdc = true
   ticket_lifetime = 24h
   renew_lifetime = 7d
   forwardable = yes

2.安裝Samba 4.1並配置加入域

安裝 Samba 4.1:

$ pkg install samba41

創建/usr/local/etc/smb4.conf具有以下內容的文件:

[global]
   security = ads
   realm = EXAMPLE.COM
   workgroup = EXAMPLE

   kerberos method = secrets and keytab

   client signing = yes
   client use spnego = yes
   log file = /var/log/samba/%m.log

索取管理員 Kerberos 票證:

$ kinit Administrator

然後加入域並創建一個keytab

$ net ads join createupn=host/server-hostname.example.com@EXAMPLE.COM -k
$ net ads keytab create -k
  1. 安裝支持 Kerberos 的 sssd 包和 Cyrus SASL

安裝所需的軟體包:

$ pkg install sssd cyrus-sasl-gssapi

編輯文件/usr/local/etc/sssd/sssd.conf以匹配此設置:

[sssd]
   config_file_version = 2
   services = nss, pam
   domains = example.com

[nss]

[pam]

[domain/example.com]
   # Uncomment if you need offline logins
   #cache_credentials = true

   id_provider = ad
   auth_provider = ad
   access_provider = ad
   chpass_provider = ad

   # Comment out if the users have the shell and home dir set on the AD side
   default_shell = /bin/tcsh
   fallback_homedir = /home/%u

   # Uncomment and adjust if the default principal SHORTNAME$@REALM is not available
   #ldap_sasl_mech = GSSAPI
   #ldap_sasl_authid = SERVER-HOSTNAME$@EXAMPLE.COM
  1. nsswitch.conf 中添加 sssd 支持

編輯文件/etc/nsswitch.conf以匹配此設置:

group: files sss
passwd: files sss
  1. 配置 PAM 以允許 sssd 身份驗證並處理主目錄創建

安裝用於創建主目錄的可選包:

$ pkg install pam_mkhomedir

修改必要的PAM領域以匹配此設置:

auth            sufficient      /usr/local/lib/pam_sss.so
account         required        /usr/local/lib/pam_sss.so        ignore_unknown_user
session         required        /usr/local/lib/pam_mkhomedir.so  mode=0700
session         optional        /usr/local/lib/pam_sss.so
password        sufficient      /usr/local/lib/pam_sss.so        use_authtok
  1. 切換到啟用 SASL 的 OpenLDAP 客戶端

$ pkg remove -f openldap-client
$ pkg install openldap-sasl-client
  1. 最後確認一切正常

$ getent passwd <username>

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