(十三)VMware Harbor 身份验证模式
VMware Harbor 修改Harbor仓库admin用户
参考:https://blog.csdn.net/qq_40460909 https://blog.csdn.net/qq_40460909/article/details/90212254
一 前言
Harbor有2个认证方式:db_auth , ldap
auth_mode:使用的身份验证类型。默认情况下,它是db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为ldap_auth。
二 数据库(db_auth)---PostgreSQL
用户存储在本地数据库中。
用户可以在此模式下在Harbor中自行注册。要禁用用户自行注册,可以在安装的时候初始配置,或则管理员禁用此功能。禁用自注册后,系统管理员可以将用户添加到Harbor。
注册或添加新用户时,用户名和电子邮件在Harbor系统中必须是唯一的。密码必须至少包含8个字符,包含1个小写字母,1个大写字母和1个数字字符。
2.1 登陆数据库:
2.2 找到harbor的数据库,并进入容器
docker exec -it DB容器ID
2.3 登陆登陆postgresql
psql -U postgres -h postgresql -p 5432
密码在harbor.yml中,没改的话是root123
三 常用数据库操作(postgresql)
常用操作
\l #列出所有数据库
\c dbname #切换数据库
\d #列出当前数据库的所有表
\q #退出数据库
四 查看用户信息
Step 1: 切换到registry 数据库
\c registry
Step 2: 列出当前数据库所有表
Step 3: 用户信息在 harbor_user 中,查看用户信息
select * from harbor_user;
五 更改admin用户
\c registry \d select * from harbor_user; #查询表数据 ###下面sql是更改用户信息 update harbor_user set username='QfdajasPPqcxz' where user_id=1; #更改admin用户名为QfdajasPPqcxz update harbor_user set sysadmin_flag='f' where user_id=1; #更改admin用户为普通权限 ###下面sql是直接删除admin用户 update harbor_user set deleted='t' where user_id=1; #删除admin用户 \q #退出数据库 exit #退出容器
因为有外键约束的原因不能直接删除这个用户,所有直接update。
harbor_user 表结构
六 ldap LDAP / Active Directory(ldap_auth)
在此身份验证模式下,凭据存储在外部LDAP或AD服务器中的用户可以直接登录到Harbor。
由于用户由LDAP或AD管理,因此在LDAP / AD身份验证模式下不支持自行注册,删除用户,更改密码和重置密码。
强调:harbor默认链接的是db_auth,如果想使用ldap_auth,
1,在默认情况下第一次登陆的时候在页面的设置里将认证方式改为ldap_auth,一定要将各个配置设置正确;
2,想使用ldap_auth的话,也可以在最初设置认证模式的时候设置为ldap模式,选项设置不正确可以在UI页面设置。
提醒:不管你设置为哪一种模式,只要用户中添加了除管理员的其他用户之后,认证模式就不能再更改;