2.2. 使用 Samba Windbind 将 RHEL 系统直接连接到 AD
Samba Winbind 是系统安全服务守护进程(SSSD)的替代方案,用于将 Red Hat Enterprise Linux(RHEL)系统与活动目录(AD)进行连接。您可以使用 realmd 将 RHEL 系统加入到 AD 域来配置 Samba Winbind 。
流程
安装以下软件包:
# dnf install realmd oddjob-mkhomedir oddjob samba-winbind-clients \ samba-winbind samba-common-tools samba-winbind-krb5-locator krb5-workstation要在域成员中共享目录或打印机,请安装
samba软件包:# dnf install samba备份现有的
/etc/samba/smb.confSamba 配置文件:# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak加入域。例如,要加入名为
ad.example.com的域:# realm join --membership-software=samba --client-software=winbind ad.example.com使用上面的命令,
realm工具会自动:-
为
ad.example.com域中的成员创建/etc/samba/smb.conf文件 -
将用于用户和组查找的
winbind模块添加到/etc/nsswitch.conf文件中 -
更新
/etc/pam.d/目录中的可插拔验证模块(PAM)配置文件 -
启动
winbind服务,并使服务在系统引导时启动
-
为
可选:在
/etc/samba/smb.conf文件中设置替代 ID 映射后端或自定义 ID 映射设置。详情请参阅 了解和配置 Samba ID 映射。
编辑
/etc/krb5.conf文件,并添加以下部分:[plugins] localauth = { module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so enable_only = winbind }验证
winbind服务是否运行:# systemctl status winbind ... Active: active (running) since Tue 2018-11-06 19:10:40 CET; 15s ago重要要启用 Samba 来查询域用户和组信息,必须在启动
smb之前运行winbind服务。如果您安装了
samba软件包来共享目录和打印机,请启用并启动smb服务:# systemctl enable --now smb
验证
显示 AD 用户的详情,如 AD 域中的 AD 管理员帐户:
# getent passwd "AD\administrator" AD\administrator:*:10000:10000::/home/administrator@AD:/bin/bash查询 AD 域中的域用户组成员:
# getent group "AD\Domain Users" AD\domain users:x:10000:user1,user2可选:验证在对文件和目录设置权限时,您是否可以使用域用户和组。例如,将
/srv/samba/example.txt文件的所有者设置为AD\administrator,组设置为AD\Domain Users:# chown "AD\administrator":"AD\Domain Users" /srv/samba/example.txt验证 Kerberos 验证是否如预期正常工作:
对于 AD 域成员,为
administrator@AD.EXAMPLE.COM主体获取一个ticket:# kinit administrator@AD.EXAMPLE.COM显示缓存的 Kerberos ticket:
# klist Ticket cache: KCM:0 Default principal: administrator@AD.EXAMPLE.COM Valid starting Expires Service principal 01.11.2018 10:00:00 01.11.2018 20:00:00 krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM renew until 08.11.2018 05:00:00
显示可用域:
# wbinfo --all-domains BUILTIN SAMBA-SERVER AD