doc/security/reset_user_password.md
{{< details >}}
{{< /details >}}
You can reset user passwords by using the UI, a Rake task, a Rails console, or the Users API.
To reset a user password in the UI:
GitLab updates the user password.
To reset a user password with a Rake task:
{{< tabs >}}
{{< tab title="Linux package (Omnibus)" >}}
sudo gitlab-rake "gitlab:password:reset"
{{< /tab >}}
{{< tab title="Self-compiled (source)" >}}
bundle exec rake "gitlab:password:reset"
{{< /tab >}}
{{< /tabs >}}
GitLab requests a username, a password, and confirmation of the password. When complete, the user password is updated.
The Rake task can accept a username as an argument. For example, to reset the password for the user with username
sidneyjones:
{{< tabs >}}
{{< tab title="Linux package (Omnibus)" >}}
sudo gitlab-rake "gitlab:password:reset[sidneyjones]"
{{< /tab >}}
{{< tab title="Self-compiled (source)" >}}
bundle exec rake "gitlab:password:reset[sidneyjones]"
{{< /tab >}}
{{< /tabs >}}
To reset a user password from a Rails console:
Prerequisites:
Start a Rails console session.
Find the user:
By username:
user = User.find_by_username 'exampleuser'
By user ID:
user = User.find(123)
By email address:
user = User.find_by(email: '[email protected]')
Reset the password by setting a value for user.password and user.password_confirmation. For example, to set a new random
password:
new_password = ::User.random_password
user.password = new_password
user.password_confirmation = new_password
user.password_automatically_set = false
To set a specific value for the new password:
new_password = 'examplepassword'
user.password = new_password
user.password_confirmation = new_password
user.password_automatically_set = false
Optional. Notify the user that an administrator changed their password:
user.send_only_admin_changed_your_password_notification!
Save the changes:
user.save!
Exit the console:
exit
You can reset the root password through the Rake task or Rails console processes outlined previously.
root.1. In almost all
cases, the first user is the default administrator account.Use the following information to troubleshoot issues when resetting a user password.
If the new password doesn't work, it might be an email confirmation issue. You can
attempt to fix this issue in a Rails console. For example, if a new root password isn't working:
Start a Rails console.
Find the user and skip reconfirmation:
user = User.find(1)
user.skip_reconfirmation!
Attempt to sign in again.
The password might be too short, too weak, or not meet complexity requirements. Ensure the password you are attempting to set meets all password requirements.
If a user password has previously expired, you might need to update the password expiration date. For more information, see Password expired error on Git fetch with SSH for LDAP user.