Horizon系列之Linux7桌面使用SSSD通过LDAP认证域用户
之前写过两篇Horizon Linux虚拟桌面的文章
第一篇是基于winbind 使用smb加域进行域用户验证,第二篇是通过开源软件PBISO来加域。这两种模式都需要虚拟机加域,如果桌面多,则域的维护工作较重,今天就基于一种轻量级的目录访问协议LDAP来做域用户的验证,它的原理很简单,使用Linux系统内置的系统安全服务守护进程 (System Security Services Daemon, SSSD)通过LDAP和域控通信。通过只读方式,读取域用户,来实现Linux桌面用户的管理和登录,且虚拟机不用加域,只需要虚拟机和域控通过ldap协议通信即可,易维护。如果对安全系数要求较高,还可以建立只读普通域用户,授权对特定的OU为只读模式,但是前期配置步骤稍微有点多,此文主要以如何让Linux7和域控通过ldap协议通信,并且实现Linux下常用的sudo权限。
[scode type="blue"]
软件版本:Centos7.6 horizon 7.9,horizon从7.2开始支持SSSD和LDAP验证
域名:lzuvdi.local
域控制器:ad.lzuvdi.local
[/scode]
虚拟机须禁用ipv6,禁用virbr0,禁用NMtool,并配置默认搜索域和DNS
,具体操作看这里Horizon系列之安装配置CentOS7虚拟桌面
一,准备CA证书
安装域证书看这里,Horizon系列之替换各组件自签名SSL证书。
1,导出CA证书
打开证书颁发机构,右键选择域证书,点击所有任务,单击备份CA,下一步
勾选私钥和CA证书
和证书数据库和证书数据库日志
,选择保存位置,下一步
密码选项留空,设置密码也可以,但是必须要记住,后面要用到。下一步,单击完成备份。
2,安装SSSD和LDAP组件
yum install -y sssd nss-pam-ldapd sssd-ad sssd-tools
3,生成所需文件和目录
authconfig --enablesssd --enablesssdauth --enableldap --enableldapauth --disableforcelegacy --enableldaptls --disablekrb5 --ldapserver ldap://ad.lzuvdi.local --ldapbasedn "dc=lzuvdi,dc=local" --enablemkhomedir --update
然后
systemctl restart sssd
4,把第1步备份的CA证书上传到/etc/openldap/cacerts
5,转换证书为LDAP可识别的证书格式
openssl pkcs12 -in lzuvdi-AD-CA.p12 -out ad.pem
第一次提示输入备份时设置的密码,我备份CA时密码为空,则这里也留空。第二次提示设置一个PEM证书的密码,输入即可。
二,配置LDAPS
1,打开ldp.exe
2,点击左上角连接
,单击连接,端口输入636
,勾选SSL
,单击确定。
此时左上角的链接已变为ldaps
3,点击左上角连接
,单击绑定
,勾选作为当前已登录用户绑定
,单击确定。
4,点击浏览-搜索
,在DN一栏输入域控DC和OU信息,进行查询,如我建立的VDI_Users
5,正常查询到我建立的65个用户
此时,说明LDAPS正常工作
[scode type="blue"]下面关键内容仅对打赏用户开放,之前通过微信打赏的用户,微信联系我获取密码,谢谢![/scode]