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
如何使用LDAP/Kerberos/SSSD将CentOS/RHEL系统集成到AD域中

本文总结了将 CentOS/RHEL 6(客户端)服务器集成到具有 LDAP/Kerberos/SSSD 的 AD 域的步骤。

  1. 安装所需的包:
# yum install sssd samba-common krb5-workstation

注意:确保 NTP 正在运行并按预期工作,并在 /etc/hosts 中添加 AD 服务器

  1. 将 /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
  1. 将 /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
  1. 以 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
  1. 运行以下命令在 /etc/nsswitch.conf 和 PAM 中启用 SSSD:
# authconfig --enablesssd --enablesssdauth --enablelocauthorize --enablemkhomedir --update
  1. 创建 /etc/sssd/sssd.conf 并设置正确的权限:
# echo > /etc/sssd/sssd.conf
# chmod 600 /etc/sssd/sssd.conf
  1. 将 /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
  1. 重新启动 SSSD 服务以使更改生效。
# service sssd restart
日期:2020-09-17 00:13:40 来源:oir作者:oir