【问题标题】:How to unlock a locked admin user in JFrog Artifactory?如何解锁 JFrog Artifactory 中锁定的管理员用户?
【发布时间】:2022-03-26 02:43:26
【问题描述】:

我安装了 JFrog Artifactory 并进行了设置,还启用了“在 n 次登录失败后锁定用户”。

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

现在我收到了这条消息

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

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

我已经按照常见问题解答“重新创建默认管理员用户”(https://www.jfrog.com/confluence/display/RTF/Managing+Users#ManagingUsers-RecreatingtheDefaultAdminUser),但我无法确认密码重置是否有效 - 管理员帐户仍处于锁定状态。

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

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

【问题讨论】:

  • 你有 Artifactory 的备份吗?
  • @drorb 我在 Artifactory 中设置了自动备份选项。所以系统某处有 Artifactory 的自动备份文件,我已经用它来尝试重置密码...
  • 另一种选择是创建 Artifactory 的新设置并从备份中填充它
  • @drorb 好的,谢谢。那行得通!如果您将其发布为答案,我可以将其标记为已解决!谢谢! :)
  • 将其作为答案发布

标签: artifactory


【解决方案1】:

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

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

【讨论】:

  • 是的,我没有其他管理员用户 :-( 你还有其他想法吗?
  • 如果没有其他管理员用户,您可以直接在数据库中解锁管理员(或任何其他锁定的帐户),查询如下:UPDATE access_users SET status = 'enabled' WHERE user_id = 1; (1这里是要解锁的账户的用户ID)。希望您确实可以访问您的服务器和数据库。
【解决方案2】:

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

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

变量:&lt;password&gt;&lt;user&gt;&lt;host:port&gt;

例如:

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"}'

变量:&lt;password&gt;&lt;user&gt;&lt;host:port&gt;

如果它不起作用......

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

类似于how to reset admin password

【讨论】:

  • 像魅力一样工作!这个应该是答案!
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    自上次发布以来,API 参考似乎发生了变化,因此我想为以后发现自己在这里的人添加内容。

    新的“用户”端点(截至 7.29.10)是 /api/security/users/&lt;user&gt;

    例子:

    curl -u &lt;admin_user&gt;:&lt;admin_password&gt; localhost:8081/artifactory/api/security/users/&lt;user&gt;

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

    curl -u &lt;admin_user&gt; localhost:8081/artifactory/api/security/users/&lt;user&gt;

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

    【讨论】:

      【解决方案5】:

      我在这里回答: https://stackoverflow.com/a/53047504/8207836

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多