在现代企业 IT 架构中,集中式用户身份管理是保障安全与提升运维效率的关键。对于使用 RockyLinux 的用户来说,通过集成云身份服务(如 FreeIPA、Microsoft Active Directory 或 LDAP)可以实现统一的 云身份管理。本教程将手把手带你配置 SSSD(System Security Services Daemon),实现 RockyLinux 与远程身份提供者的无缝对接,即使你是 Linux 小白也能轻松上手!
什么是 SSSD?
SSSD 是一个系统守护进程,用于访问远程目录和身份验证机制。它支持 LDAP、Kerberos、Active Directory 等协议,能缓存用户凭据,即使网络中断也能登录已缓存的用户。
前提条件
一台运行 RockyLinux 8/9 的服务器 具有 sudo 权限的用户账户 一个可用的身份提供者(如 FreeIPA 服务器或 AD 域控制器) 网络连通性(确保 RockyLinux 能访问身份服务器)步骤一:安装 SSSD 及相关工具
首先,我们需要安装 SSSD 和必要的客户端工具:
sudo dnf install -y sssd sssd-tools authselect krb5-workstation oddjob-mkhomedir
步骤二:启用自动创建用户家目录
为了让远程用户首次登录时自动创建家目录,需启用
oddjobd服务:
sudo systemctl enable --now oddjobdsudo authselect select sssd with-mkhomedir --force
步骤三:配置 SSSD(以 FreeIPA 为例)
假设你有一个 FreeIPA 服务器(IP:192.168.1.100,域名:ipa.example.com),执行以下命令自动配置 SSSD:
sudo ipa-client-install \ --server=ipa.example.com \ --domain=example.com \ --realm=EXAMPLE.COM \ --mkhomedir \ --enable-dns-updates
系统会提示你输入 FreeIPA 管理员密码,并完成注册。完成后,SSSD 配置文件
/etc/sssd/sssd.conf会自动生成。
手动配置示例(适用于 LDAP)
如果你使用的是标准 LDAP 服务器,可手动编辑
/etc/sssd/sssd.conf:
[sssd]services = nss, pamdomains = LDAP[domain/LDAP]id_provider = ldapauth_provider = ldapldap_uri = ldap://ldap.example.comldap_search_base = dc=example,dc=comldap_id_use_start_tls = Falseldap_default_bind_dn = cn=admin,dc=example,dc=comldap_default_authtok = your_admin_passwordldap_schema = rfc2307
保存后,设置正确权限并重启服务:
sudo chmod 600 /etc/sssd/sssd.confsudo systemctl enable --now sssd
步骤四:测试身份验证
使用
id命令查看远程用户信息:
id username@example.com
尝试 SSH 登录或本地切换用户:
su - username@example.com
常见问题排查
检查 SSSD 日志:/var/log/sssd/确认防火墙是否放行 LDAP/Kerberos 端口(389, 636, 88 等) 使用
sssctl domain-status LDAP查看域连接状态
总结
通过本教程,你已经成功在 RockyLinux 上实现了 云身份管理,利用 SSSD 完成了与远程身份源的集成。这不仅提升了 身份验证 的安全性,还简化了多服务器环境下的 Linux用户同步 流程。掌握 SSSD配置 是每位 Linux 系统管理员的必备技能,赶快在你的环境中实践吧!
