Reset a user's password
DETAILS: Tier: Free, Premium, Ultimate Offering: Self-managed, GitLab Dedicated
You can reset user passwords by using the UI, a Rake task, a Rails console, or the Users API.
Prerequisites
To reset a user password, you must be an administrator of a self-managed GitLab instance.
The user's new password must meet all password requirements.
Use the UI
To reset a user's password in the UI:
- On the left sidebar, at the bottom, select Admin.
- Select Overview > Users.
- For the user whose password you want to update, select Edit.
- In the Password area, type a password and password confirmation.
- Select Save changes.
A confirmation is displayed.
Use a Rake task
Use the following Rake task to reset a user's password.
::Tabs
:::TabTitle Linux package (Omnibus)
sudo gitlab-rake "gitlab:password:reset"
:::TabTitle Self-compiled (source)
bundle exec rake "gitlab:password:reset"
::EndTabs
GitLab requests a username, a password, and confirmation of the password. When complete, the user's password is updated.
The Rake task can take a username as an argument. For example, to reset the password for the user with username
sidneyjones
:
::Tabs
:::TabTitle Linux package (Omnibus)
sudo gitlab-rake "gitlab:password:reset[sidneyjones]"
:::TabTitle Self-compiled (source)
bundle exec rake "gitlab:password:reset[sidneyjones]"
::EndTabs
Use a Rails console
If you know the username, user ID, or email address, you can use the Rails console to reset their password:
-
Open a Rails console.
-
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: 'user@example.com')
-
-
Reset the password by setting a value for
user.password
anduser.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
Reset the root password
To reset the root password, follow the steps listed previously.
- If the root account name hasn't changed, use the username
root
. - If the root account name has changed and you don't know the new username,
you might be able to use a Rails console with user ID
1
. In almost all cases, the first user is the default administrator account.
Troubleshooting
Use the following information to troubleshoot issues when resetting a user's password.
Email confirmation issues
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.
Unmet password requirements
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.
Expired password
You might not be able to reset a user's expired password due to the Password Expired error on Git Fetch via SSH for LDAP users.