Linux使用SSSD通过LDAP认证域用户
基于一种轻量级的目录访问协议LDAP来做域用户的验证,它的原理很简单,使用Linux系统内置的系统安全服务守护进程 (System Security Services Daemon, SSSD)通过LDAP和域控通信。通过只读方式,读取域用户,来实现Linux桌面用户的管理和登录,且虚拟机不用加域,只需要虚拟机和域控通过ldap协议通信即可,易维护。如果对安全系数要求较高,还可以建立只读普通域用户,授权对特定的OU为只读模式,但是前期配置步骤稍微有点多
虚拟机须禁用ipv6,禁用virbr0,禁用NMtool,并配置默认搜索域和DNS,
一,准备CA证书
1,导出CA证书
打开证书颁发机构,右键选择域证书,点击所有任务,单击备份CA,下一步
勾选私钥和CA证书和证书数据库和证书数据库日志,选择保存位置,下一步
密码选项留空,设置密码也可以,但是必须要记住,后面要用到。下一步,单击完成备份。
[root@ipa ~]# cd /etc/openldap/cacerts/
[root@ipa ~]# yum install -y sssd nss-pam-ldapd sssd-ad sssd-tools [root@ipa ~]# authconfig --enablesssd --enablesssdauth --enableldap --enableldapauth --disableforcelegacy --enableldaptls --disablekrb5 --ldapserver ldap://dc01.tommyit.lan --ldapbasedn "dc=tommyit,dc=lan" --enablemkhomedir –update
[root@ipa ~]# systemctl restart sssd
[root@ipa cacerts]# openssl pkcs12 -in tommyit-DC01-CA.p12 -out ad.pem
[root@ipa sssd]# vim sssd.conf
[domain/tommyit.lan] ldap_schema = ad cache_credentials = True ldap_search_base = dc=tommyit,dc=lan id_provider = ldap auth_provider = ldap chpass_provider = ldap sudo_provider = ldap ldap_uri = ldap://dc01.tommyit.lan ldap_tls_reqcert = allow ldap_id_use_start_tls = True ldap_tls_cacertdir = /etc/openldap/cacerts #general debug_level = 7 enumerate = False cache_credentials = True min_id = 7 #ldap ldap_default_bind_dn = cn=administrator,cn=Users,dc=tommyit,dc=lan ldap_user_search_base = ou=tommy,dc=tommyit,dc=lan ldap_sudo_search_base = OU=it,OU=suz_tommy,OU=tommy,DC=tommyit,DC=lan #ldap provider full_name_format = %1$s fallback_homedir = /home/%u default_shell = /bin/csh ldap_id_mapping = True #ldap_id_mapping = True (删除此行显示unix nis UID GID ) ldap_default_authtok_type = obfuscated_password ldap_default_authtok = AAAQAMBsIR1MpzXUp9PWbRc9FzdiuxjMfDIvrm7Ldtg5EG6yFYhEY5micYSvDmzfhmvAN6XqAzYiLODbASSZoFjW16UAAQID [sssd] services = nss,pam,sudo config_file_version = 2 domains = tommyit.lan [nss] #enum_cache_timeout= 10 [pam] [sudo] [autofs] [ssh] [pac] [ifp] [secrets] [session_recording] EOF
加密认证
sss_obfuscate --domain lawrence.om
重启sssd
systemctl restart sssd
systemctl stop sssd rm -f /var/lib/sss/db/*
[root@ipa ~]# sss_obfuscate --domain tommyit.lan
[root@ipa ~]# systemctl restart sssd
Windows 账号绑定完成。
本文已获得原作者:漂泊人生,未经许可,禁止转载,本文地址:https://www.fasteda.cn/post/250.html
原文下载:
网友留言: