Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/security/reset_user_password.md')
-rw-r--r--doc/security/reset_user_password.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/security/reset_user_password.md b/doc/security/reset_user_password.md
new file mode 100644
index 00000000000..bc8de882afe
--- /dev/null
+++ b/doc/security/reset_user_password.md
@@ -0,0 +1,81 @@
+---
+type: howto
+---
+
+# How to reset user password
+
+To reset the password of a user, first log into your server with root privileges.
+
+Start a Ruby on Rails console with this command:
+
+```shell
+gitlab-rails console -e production
+```
+
+Wait until the console has loaded.
+
+## Find the user
+
+There are multiple ways to find your user. You can search by email or user ID number.
+
+```shell
+user = User.where(id: 7).first
+```
+
+or
+
+```shell
+user = User.find_by(email: 'user@example.com')
+```
+
+## Reset the password
+
+Now you can change your password:
+
+```shell
+user.password = 'secret_pass'
+user.password_confirmation = 'secret_pass'
+```
+
+It's important that you change both password and password_confirmation to make it work.
+
+When using this method instead of the [Users API](../api/users.md#user-modification), GitLab sends an email to the user stating that the user changed their password.
+
+If the password was changed by an administrator, execute the following command to notify the user by email:
+
+```shell
+user.send_only_admin_changed_your_password_notification!
+```
+
+Don't forget to save the changes.
+
+```shell
+user.save!
+```
+
+Exit the console and try to login with your new password.
+
+NOTE: **Note:**
+Passwords can also be reset via the [Users API](../api/users.md#user-modification)
+
+### Reset your root password
+
+The steps described above can also be used to reset the root password. But first, identify the root user, with an `id` of `1`. To do so, run the following command:
+
+```shell
+user = User.where(id: 1).first
+```
+
+After finding the user, follow the steps mentioned in the [Reset the password](#reset-the-password) section to reset the password of the root user.
+
+<!-- ## Troubleshooting
+
+Include any troubleshooting steps that you can foresee. If you know beforehand what issues
+one might have when setting this up, or when something is changed, or on upgrading, it's
+important to describe those, too. Think of things that may go wrong and include them here.
+This is important to minimize requests for support, and to avoid doc comments with
+questions that you know someone might ask.
+
+Each scenario can be a third-level heading, e.g. `### Getting error message X`.
+If you have none to add when creating a doc, leave this section in place
+but commented out to help encourage others to add to it in the future. -->