ユーザーパスワードをリセットする
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
ユーザーパスワードをリセットするには、UI、Rakeタスク、Railsコンソール、ユーザーAPIのいずれかを使用します。
前提要件
- インスタンスの管理者である。
- パスワードは、すべてのパスワード要件を満たしている必要があります。
UIを使用する
UIでユーザーパスワードをリセットするには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。
- 概要 > ユーザーを選択します。
- 更新するユーザーアカウントを特定し、編集を選択します。
- パスワードセクションで、新しいパスワードを入力して確認します。
- 変更を保存を選択します。
GitLabはユーザーパスワードを更新します。
Rakeタスクを使用する
Rakeタスクを使用してユーザーパスワードをリセットするには、次の手順に従います:
sudo gitlab-rake "gitlab:password:reset"bundle exec rake "gitlab:password:reset"GitLabは、ユーザー名、パスワード、パスワードの確認を要求します。入力が完了すると、ユーザーパスワードが更新されます。
Rakeタスクは、引数としてユーザー名を受け入れます。たとえば、ユーザー名がsidneyjonesのユーザーのパスワードをリセットするには、次の手順に従います:
sudo gitlab-rake "gitlab:password:reset[sidneyjones]"bundle exec rake "gitlab:password:reset[sidneyjones]"Railsコンソールを使用する
Railsコンソールを使用してユーザーパスワードをリセットするには、次の手順に従います:
前提要件:
- リセット対象のユーザーに関連付けられているユーザー名、ユーザーID、またはメールアドレスを把握している必要があります。
Railsコンソールセッションを開始します。
次のいずれかの方法でユーザーを見つけます:
ユーザー名:
user = User.find_by_username 'exampleuser'ユーザーID:
user = User.find(123)メールアドレス:
user = User.find_by(email: 'user@example.com')
user.passwordとuser.password_confirmationの値を設定して、パスワードをリセットします。たとえば、新しいランダムパスワードを設定するには、次のようにします:new_password = ::User.random_password user.password = new_password user.password_confirmation = new_password user.password_automatically_set = false新しいパスワードに特定の値を設定するには、次のようにします:
new_password = 'examplepassword' user.password = new_password user.password_confirmation = new_password user.password_automatically_set = falseオプション。管理者がパスワードを変更したことをユーザーに通知します:
user.send_only_admin_changed_your_password_notification!変更を保存します:
user.save!コンソールを終了します:
exit
rootパスワードをリセットする
前述のRakeタスクまたはRailsコンソールの手順で、rootパスワードをリセットできます。
- rootアカウント名が変更されていない場合は、ユーザー名として
rootを使用します。 - rootアカウント名が変更されており、新しいユーザー名が不明な場合は、ユーザーID
1でRailsコンソールを使用できる場合があります。ほとんどの場合、最初のユーザーがデフォルトの管理者アカウントです。
トラブルシューティング
ユーザーパスワードをリセットする際に問題が発生した場合は、次の情報を参考にして対処してください。
メール確認の問題
新しいパスワードが機能しない場合は、メール確認の問題である可能性があります。この問題は、Railsコンソールで修正を試みることができます。たとえば、新しいrootパスワードが機能しない場合は、次のようにします:
Railsコンソールを起動します。
ユーザーを検索して、再確認をスキップします:
user = User.find(1) user.skip_reconfirmation!もう一度サインインを試みます。
パスワード要件を満たしていない
パスワードが短すぎる、弱すぎる、または複雑さの要件を満たしていない可能性があります。設定しようとしているパスワードが、すべてのパスワード要件を満たしていることを確認してください。
パスワードの有効期限切れ
ユーザーパスワードがすでに期限切れになっている場合は、有効期限の更新が必要になることがあります。詳細については、LDAPユーザーによるSSHを使用したGit fetchでのパスワードの有効期限切れエラーを参照してください。