在 Linux 上以 root 用户身份重置 FreeIPA 管理员密码
如果您忘记了 FreeIPA 管理员密码,您可以随时以 root 用户身份重置它。本指南将帮助您使用 root shell 或具有 sudo 权限的用户帐户在 Linux 上重置 FreeIPA 管理员密码。
请注意,要重置 FreeIPA 管理员密码,您需要有目录管理员密码,如果没有,则必须先重置目录管理员密码,然后再重置 FreeIPA 管理员密码。
第 1 步:重置目录管理员密码(如果丢失)
如果您知道目录管理员密码,则可以跳过此步骤。以 root 用户或具有 sudo 权限的用户身份登录 FreeIPA 服务器并关闭 FreeIPA 服务器。如果服务器正在运行并且您对主配置文件 dse.ldif 进行了更改,则您的更改将会丢失。
sudo /sbin/stop-dirsrv <INSTANCE-NAME>
您可以从 /etc/dirsrv/slapd
获取实例名称。例子
sudo /sbin/stop-dirsrv DOMAIN-COM
服务停止后,生成新的哈希目录管理密码。
sudo /usr/bin/pwdhash StrongPassword
将 StrongPassword
替换为您的实际强密码。在生成时,您应该得到如下输出:
{SSHA512}x6XGO1wpxYFpNFZrirBjLUqXfepGtSKdR/Gv/2Pdx6uc5Apy4zDFNvGHpR8iJO4CLim4m/CIWaqfnfQ2XuUskhCK09w5zsnb
编辑 389 Directory 配置文件以设置新的哈希密码
sudo vim /etc/dirsrv/slapd-EXAMPLE-COM/dse.ldif
将 EXAMPLE-COM
替换为正确的实例名称值。搜索以 nsslapd-rootpw
开头的行,然后将其值替换为您生成的密码值。
nsslapd-rootpw: {SSHA512}x6XGO1wpxYFpNFZrirBjLUqXfepGtSKdR/Gv/2Pdx6uc5Apy4zDFNvGHpR8iJO4CLim4m/CIWaqfnfQ2XuUskhCK09w5zsnb
完成后,重新启动389目录服务
sudo /sbin/start-dirsrv <INSTANCE-NAME>
然后测试您的新密码
sudo ldapsearch -x -D "cn=directory manager" -w newpassword -s base -b "" "objectclass=*"
步骤 2:在 Linux 上重置 FreeIPA 管理员密码
现在您已经有了目录管理员密码,您应该准备好重置 FreeIPA 管理员密码。
首先导出 LDAP TLS 证书路径
export LDAPTLS_CACERT=/etc/ipa/ca.crt
然后重置管理员密码
sudo ldappasswd -ZZ -D 'cn=Directory Manager' -W -S \
uid=admin,cn=users,cn=accounts,dc=example,dc=com \
-H ldap://ldap.example.com
代替 :
- example 和 com 以及您的域名组件
- ldap.example.com 使用可解析的 FreeIPA 服务器主机名
系统会要求您提供新密码和目录管理员密码
New password:
Re-enter new password:
Enter LDAP Password:
应设置新的 FreeIPA 管理员密码,通过请求新的 Kerberos 票证进行测试:
$ kinit admin
Password for [email :
提供新设置的密码并按
$ klist
Ticket cache: KEYRING:persistent:0:0
Default principal: [email
Valid starting Expires Service principal
10/17/2018 09:22:56 10/18/2018 09:22:50 krbtgt/[email
如果您访问 FreeIPA 登录页面,则应接受新密码进行身份验证。
感谢您使用我们的指南来重置 FreeIPA 管理员密码。检查 FreeIPA Server 的安装指南:
- 在 Ubuntu 上安装 FreeIPA 服务器
- 在 Ubuntu/CentOS 7 上配置 FreeIPA 客户端
- 在 Docker/Podman 容器中运行 FreeIPA 服务器
- 如何配置 Jenkins FreeIPA LDAP 身份验证
- 配置 GitLab FreeIPA LDAP 身份验证