在使用FreeIPA进行用户管理的时候,当做一些修改时,ipa客户端无法及时同步到修改后的信息。
一些修改操作如:
- 删除用户,重新创建
- 删除用户组,重新创建
- 修改用户组id
这些操作都会改变用户id或者组id,而ipa客户端无法及时同步这些变化,因为客户端使用SSSD服务缓存ipa信息,我记得SSSD默认的更新频率是1小时,不过不太确定,然而这不是重点,重点是我们怎么手动更新ipa客户端信息。
显而易见,清除SSSD缓存就行,ipa客户端会重新获取ipa信息。
对于清除SSSD缓存的方法有以下两种:
- 删除缓存文件
- 使用
sss_cache
命令清理缓存
下面简单描述一下这两种方法的操作步骤。
删除缓存文件
这个方法简单有效,但是有一定的风险,需要谨慎操作。
我使用的是这种方法,因为使用
sss_cache
命令无效,不晓得原因。
操作方法如下:
systemctl stop sssd
rm -rf /var/lib/sss/db/*
systemctl restart sssd
重启SSSD服务后,可以使用linux的id
命令查看用户信息,应该可以看到信息已更新。
sss_cache命令
sss_cache
命令是SSSD服务提供的,用于操作缓存。
可以使用sss_cache
清除用户信息和组信息等。
这里提供几个命令,其他请自行了解。
清除全部缓存信息:
sss_cache -E
清除指定用户的缓存信息:
sss_cache -u user1
参考
https://www.rootusers.com/how-to-clear-the-sssd-cache-in-linux/
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sssd-cache