Vin*_*rão 10 freebsd active-directory kerberos sssd windows-server-2012-r2
使用sssdAD 后端和 Kerberos TGT 工作,从在 FreeBSD 10.0 中的 Windows Server 2012 R2 上运行的 Active Directory 对用户进行身份验证需要哪些步骤?
Vin*_*rão 15
有一些棘手的考虑可以让一切都开箱即用。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
Run Code Online (Sandbox Code Playgroud)
知道了这一点,我们可以描述在 FreeBSD 中从 AD 成功验证用户的步骤。
创建/etc/krb5.conf包含以下内容的文件:
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = yes
Run Code Online (Sandbox Code Playgroud)
安装 Samba 4.1:
$ pkg install samba41
Run Code Online (Sandbox Code Playgroud)
创建/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
Run Code Online (Sandbox Code Playgroud)
索取管理员 Kerberos 票证:
$ kinit Administrator
Run Code Online (Sandbox Code Playgroud)
然后加入域并创建一个keytab
$ net ads join createupn=host/server-hostname.example.com@EXAMPLE.COM -k
$ net ads keytab create -k
Run Code Online (Sandbox Code Playgroud)
安装所需的软件包:
$ pkg install sssd cyrus-sasl-gssapi
Run Code Online (Sandbox Code Playgroud)
编辑文件/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
Run Code Online (Sandbox Code Playgroud)
编辑文件/etc/nsswitch.conf以匹配此设置:
group: files sss
passwd: files sss
Run Code Online (Sandbox Code Playgroud)
安装用于创建主目录的可选包:
$ pkg install pam_mkhomedir
Run Code Online (Sandbox Code Playgroud)
修改必要的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
Run Code Online (Sandbox Code Playgroud)
$ pkg remove -f openldap-client
$ pkg install openldap-sasl-client
Run Code Online (Sandbox Code Playgroud)
$ getent passwd <username>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27387 次 |
| 最近记录: |