www. On IT Road .com
说明
SSSD 的 id 映射与 Winbind 的 autorid 相同,它使用相同的算法根据 LDAP 对象的 SID 属性生成本地缓存的 UID 和 GID,因此所有使用带有 id 映射的 SSSD 的机器在 UID 和 GID 标识符上都是一致的。
如果 Active Directory 环境包含 POSIX 属性而不仅仅是用户名和 SID,我们可以使用 /etc/sssd/sssd.conf 的 [domain] 部分中的以下添加配置来禁用 id_mapping:
ldap_id_mapping = false
我们还可以通过将 fallback_homedir 和 default_shell 更改为 override_homedir 和 override_shell 来覆盖 Shell 和主目录属性信息。
'fallback' 和 'default' 选项仅在此信息未从 AD 返回时使用。
但是,无论如何,“覆盖”选项将覆盖 AD 返回的任何内容。
另请注意,无论何时我们对 SSSD 进行重大更改,或者不确定是否应重新生成本地 SSSD 缓存,请务必在之后运行以下命令:
# service sssd stop # rm -rf /var/log/sssd/* # rm -rf /var/lib/sss/db/* # service sssd start
本文总结了将 CentOS/RHEL 6(客户端)服务器集成到具有 LDAP/Kerberos/SSSD 的 AD 域的步骤。
- 安装所需的包:
# yum install sssd samba-common krb5-workstation
注意:确保 NTP 正在运行并按预期工作,并在 /etc/hosts 中添加 AD 服务器
- 将 /etc/krb5.conf 配置为类似于以下内容:
# vi /etc/krb5.conf [logging] kdc = SYSLOG:DEBUG default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true allow_weak_crypto = true [realms] EXAMPLE.COM = { kdc = adserver.example.com admin_server = adserver.example.com } [domain_realm] example.com = EXAMPLE.COM .example.com = EXAMPLE.COM
- 将 /etc/samba/smb.conf 配置为类似于以下内容:
# vi /etc/samba/smb.conf [global] workgroup = ADGRP realm = EXAMPLE.COM security = ads kerberos method = secrets and keytab log file = /var/log/samba/log.%m max log size = 50 client signing = yes client use spnego = yes idmap config * : backend = tdb password server = adserver.example.com
- 以 AD 管理员身份打开 Kerberos 票证:
# kinit your-admin-user
注意:如果出现旧密钥,请确保删除旧密钥。
:“rm /etc/krb5.keytab”
5.将OL机器加入Active Directory并生成Keytab:
# net ads join createupn=host/adserver.example.com@EXAMPLE.COM -k # net ads keytab create -k
- 运行以下命令在 /etc/nsswitch.conf 和 PAM 中启用 SSSD:
# authconfig --enablesssd --enablesssdauth --enablelocauthorize --enablemkhomedir --update
- 创建 /etc/sssd/sssd.conf 并设置正确的权限:
# echo > /etc/sssd/sssd.conf # chmod 600 /etc/sssd/sssd.conf
- 将 /etc/sssd/sssd.conf 配置为类似于以下内容:
# vi /etc/sssd/sssd.conf [sssd] config_file_version = 2 debug_level = 9 domains = example.com services = nss, pam cache_credentials = true ad_server = adserver.example.com id_provider = ad access_provider = ad [domain/example.com] id_provider = ad debug_level = 9 access_provider = ad override_homedir = /home/%u default_shell = /bin/bash auth_provider = ad chpass_provider = ad ldap_schema = ad cache_credentials = true use_fuly_qualified_domain_name = true ad_enable_gc = false
- 重新启动 SSSD 服务以使更改生效。
# service sssd restart
日期:2020-09-17 00:13:40 来源:oir作者:oir