如何重置 Apache Archiva 密码

How to reset Apache Archiva Password

我使用的是 apache-archiva-2.2.0 版本。我丢失了管理员密码,所以我想重置管理员用户的密码。

我试图通过删除下面提到的文件来重置密码。

./apache-archiva-2.2.0/data/databases/users/dbex.lck

./apache-archiva-2.2.0/data/databases/users/db.lck

但它仍然要求输入密码post重新启动服务。

数据库详细信息-

<New id="users" class="org.eclipse.jetty.plus.jndi.Resource">
  <Arg>jdbc/users</Arg>
  <Arg>
    <New class="org.apache.tomcat.jdbc.pool.DataSource">
      <Set name="driverClassName">org.apache.derby.jdbc.EmbeddedDriver</Set>
      <Set name="url">jdbc:derby:<SystemProperty name="appserver.base" default=".."/>/data/databases/users;create=true</Set>
      <Set name="username">sa</Set>
      <Set name="maxActive">20</Set>
      <Set name="removeAbandoned">true</Set>
      <Set name="logAbandoned">true</Set>
      <Set name="initialSize">5</Set>
      <Set name="testOnBorrow">true</Set>
      <Set name="validationQuery">select 1</Set>
    </New>
  </Arg>
</New>

告诉我如何更改密码?

我已通过停止归档、删除位于 data/databases/users 的用户数据库来完成此操作,例如,

% pwd
/home/archiva/current/data/databases
% mv users{,.old}

然后再次开始存档。

Archiva 将重建用户数据库并为您提供在备份时创建新管理员用户的选项。

如果您想完全禁用密码过期,请按照 https://serverfault.com/a/840545

中的步骤操作

它对我有用,

以下步骤,

1。打开 /usr/local/apache-archiva-2.2.3/conf 目录然后打开 archiva.xml 并像这样更改到期时间

<expiration>
        <enabled>false</enabled>
   <days>90</days>
  </expiration>

然后重启存档

如果您不想删除整个用户数据库,这里有一个很好的指南:http://kris-itproblems.blogspot.com/2010/11/apache-archiva-admin-account-locked.html 简而言之:复制用户数据库并使用 Derby 的数据库客户端(如 SQuirreL SQL)在本地修改它,然后将其复制回来并重新启动 Archiva。