Harbor密码丢失,如何处理?

一、忘记密码的场景

忘记Harbor的密码?

一个是超级管理员的密码忘记了;另一种是普通用户的密码忘记了;处理方式都是重新配置用户的密码。

找回密码?
对于忘记密码,很多人首先想到的就是找回密码,但是Harbor目前是不支持找回密码这个功能的。Harbor的数据库中存储的用户的密码都是使用sha256进行加密的,很难对其解析出来。

那只能重新设置用户的密码了。

二、普通用户忘记密码的处理方式

普通用户如果忘记密码,可以联系Harbor的admin用户来帮忙重置密码,admin操作如下:

【系统管理】——>【用户管理】——>【用户】——>【操作】——>【重置密码】

 然后在填写框填写该用户新的密码,点击【确定】即可完成该用户密码的重置。

 三、admin密码忘记的处理方式

如果超级管理员(admin)的密码忘记了,就无法通过刚才的方式来重新设置用户的密码了。详细的操作如下:

3.1 查看Harbor数据库组件

进入到Harbor服务器主机,查找数据库组件的信息,然后进入到数据库组件的容器中:

[root@Over harbor]# docker-compose ps |  grep db
harbor-db    /docker-entrypoint.sh 96 13      Up (healthy)       
[root@Over harbor]# docker exec -it harbor-db /bin/bash
postgres [ / ]$     #出现这表示已经成功进去容器里面了

3.2 进入到数据库

Harbor的数据库组件是使用PostgreSQL数据库,操作命令一样的

postgres [ / ]$ psql -U postgres
psql (13.3)
Type "help" for help.

3.3 进入registry数据库

postgres=# \c registry
You are now connected to database "registry" as user "postgres".

3.4 查询用户信息

harbor_user用户表中查看用户的信息

registry=# select user_id,username,password,creation_time,update_time,password_version  from harbor_user;
 user_id | username  |             password             |       creation_time        |        update_time         | password_version 
---------+-----------+----------------------------------+----------------------------+----------------------------+------------------
       2 | anonymous |                                  | 2021-11-05 07:45:36.052565 | 2021-11-05 07:45:36.176624 | sha1
       1 | admin     | 8a6e00d7401c1338f2fcfaeb67f4a477 | 2021-11-05 07:45:36.052565 | 2021-11-05 07:45:36.296631 | sha256
       3 | lidabai   | 4442491133b4c292313224d6757a103d | 2022-04-04 03:05:44.883262 | 2022-04-04 03:05:44.883263 | sha256
(3 rows)

3.5 重置admin账号密码

更新表harbor_user中的数据来重置admin密码。

registry=# update harbor_user  set salt='',password='' where  user_id = 1;
UPDATE 1

 再次查看表中用户的信息:

registry=#  select user_id,username,password,creation_time,update_time,password_version  from harbor_user;

可以发现admin用户的password信息已变化。 

 3.6 退出数据库和容器

执行完3.5操作后,admin的密码就已经重置完成了。然后就可以使用admin的初始密码Harbor12345去登录Harbor UI界面了,本处是退出数据库和容器的操作了。

registry=# \q                # 退出数据库
postgres [ / ]$ exit       # 退出容器
exit

3.7 重启Harbor

[root@Over harbor]# docker-compose down
[root@Over harbor]# docker-compose up  -d
[root@Over harbor]# docker-compose ps

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...