如何解锁 JFrog Artifactory 中被锁定的管理员用户?

How to unlock a locked admin user in JFrog Artifactory?

我安装了 JFrog Artifactory 并进行了设置,还启用了 "Lock user after n failed logins"。

几天后,我尝试使用管理员用户登录,但失败了 5 次。只是一秒钟忘记了密码,而且经常尝试,没有考虑后果。

现在我收到这条消息

User admin is Locked.
Contact System Administrator to Unlock The Account.

并且无法再以管理员身份登录,这意味着我根本无法解锁管理员帐户...¯_(ツ)_/¯

我已经按照常见问题解答 "Recreating the Default Admin User" (https://www.jfrog.com/confluence/display/RTF/Managing+Users#ManagingUsers-RecreatingtheDefaultAdminUser) 但我无法确认密码重置是否有效 – 管理员帐户仍处于锁定状态。

我还没有为 Artifactory 设置数据库,只是在文件系统上使用 Ubuntu 上的普通 debian 包。所以锁必须存放在任何地方,对吧?

更新:系统上没有其他管理员用户。

您只能通过使用另一个 "admin" 用户来取消阻止用户 Admin。 这意味着如果您设法锁定了您的管理员帐户,您将需要一个设置为 "Admin" 的不同用户来解锁您锁定的用户。

如果没有其他管理员用户,这可能会有点问题...

如果您有备份,另一个恢复选项是创建一个新的 Artifactory 设置并从最新的备份中填充它。

我在这里回答:

我推荐使用流行的数据库(MySQL、PostgresSQL、Oracle 等),它使用强大的工具直接支持管理。

https://www.jfrog.com/confluence/display/RTF/Configuring+the+Database

您可以验证用户是否被锁定:

curl -uaccess-admin:<password> http://<host:port>/artifactory/api/access/api/v1/users/<user>

变量:<password><user><host:port>

例如:

curl -uaccess-admin:H4w9qqv4RRJmjd http://localhost:8081/artifactory/api/access/api/v1/users/admin

示例输出:

{
  "username" : "admin",
  "realm" : "internal",
  "status" : "disabled",
  "allowed_ips" : [ "*" ],
  "created" : "2019-05-26T05:19:06.860Z",
  "modified" : "2019-06-17T04:32:05.065Z",
  "last_login_time" : "2019-04-17T04:11:43.310Z",
  "last_login_ip" : "11.22.33.44",
  "custom_data" : {
    "updatable_profile" : "true",
    "artifactory_admin" : "true"
  },
  "password_expired" : false,
  "password_last_modified" : 1560556802480,
  "groups" : [ ]
}

重要的是status

如果您不知道密码,它可能位于:

/etc/opt/jfrog/artifactory/security/access/bootstrap.creds

要解锁您的用户:

curl -uaccess-admin:<password> -XPATCH http://<host:port>/artifactory/api/access/api/v1/users/<user> -H "Content-Type: application/json" -d '{"status":"enabled"}'

变量:<password><user><host:port>

如果不行...

尝试在 private window 中打开神器系统(或清除 cookies、localStorage 等)。

类似于how to reset admin password

自从上次发布以来,API 参考资料似乎发生了变化,所以我想为将来发现自己的人添加到这里。

新的“用户”端点(截至 2010 年 7 月 29 日)是 /api/security/users/<user>

示例:

curl -u <admin_user>:<admin_password> localhost:8081/artifactory/api/security/users/<user>

此外,您可以只传递用户名并在提示中输入密码(这样更安全):

curl -u <admin_user> localhost:8081/artifactory/api/security/users/<user>

REST API 文档位于 https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API