Top > HPCTテクニカルセンター > トラブルシューティング
FAQ (201807-01)
パスワードを忘れた場合の対処方法
対象マシン : 全て
対象OS : Linux
分からなくなったユーザーのパスワードを、システム上のデータから確認する手段はありません。したがって、下記の何れかの方法にてパスワードを再設定します。
1. root以外の一般ユーザーのパスワード再設定
(1) NIS管理外ユーザーの場合
rootにて、通常の"passwd"コマンドを実行して、該当するユーザーのパスワードを再設定します。
※<ユーザー名>は、該当するユーザーを指定して下さい。
$ passwd <ユーザー名>
Changing password for user ユーザー名.
New password: <該当ユーザーの新しいパスワード>
Retype new password: <該当ユーザーの新しいパスワード(再入力)>
1-2. NIS管理ユーザーの場合
NISサーバ上のrootにて、"yppasswd"コマンドを実行して、該当するユーザーのパスワードを再設定します。
※<ユーザー名>は、該当するユーザーを指定して下さい。
$ yppasswd <ユーザー名> Changing NIS account information for ユーザー名 on NISサーバ名.
Please enter root password: <rootのパスワード(確認用)>
Changing NIS password for ユーザー名 on NISサーバ名.
Please enter new password: <該当ユーザーの新しいパスワード>
Please retype new password: <該当ユーザーの新しいパスワード(再入力)>
"yppasswd"が使用できない場合には、以下の手順で実施して下さい
(1) 該当ユーザーのパスワードを通常の"passwd"コマンドで再設定します。
$ passwd <ユーザー名>
Changing password for user ユーザー名.
New password: <該当ユーザーの新しいパスワード>
Retype new password: <該当ユーザーの新しいパスワード(再入力)>
(2) 上記で変更したパスワード情報をNIS管理情報へ反映します。
$ make -C /var/yp
2. rootのパスワード再設定
※NIS環境下でもrootは管理外となりますので、必ずそれぞれのサーバー上でrootのパスワードを再設定する必要があります。
2-1. ノーパスワードでリモートログインができるケース
管理サーバー等のrootからノーパスワードでリモートログインできる設定が施されている場合があります(クラスタ環境など)。
その場合は、リモートログイン後に、通常の"passwd"コマンドで変更して下さい。
(1)管理サーバー上のrootから、該当サーバーにリモートログインします。
(2)リモートログインした該当サーバー(rootのまま)上で実行します。
$ passwd
New password: <新しいパスワード>
Retype new password: <新しいパスワード(再入力)>
2-2. ノーパスワードでリモートログインができないケース
シングルユーザーモード等でrootのログイン状態でOS起動するようにしてから通常の"passwd"コマンドで再設定します。ただし、OSのシステム管理(initまたはsystemd)の違いにより対応が異なります。
2-2-1. システム管理がinit系OS
OSがRHEL6(CentOS6)以前のバージョンなど、Linuxのシステム管理が従来のinit系の場合には、以下の方法にてパスワードを再設定します。
(1) 該当サーバーを再起動します。
(2) OSの最初の起動画面で[e]キーを押して起動オプションの選択モードに入ります。
(3) "kernel"で始まる行を選択し、もう一度[e]キーを押して編集モードに入ります。
(4) 行末尾にスペースを空けてから、オプション"single"を追加入力します。
(5) [Enter]キーを押して、選択モードに戻ったら、[b]キーを押して起動を継続します。
(6) rootのログイン状態で起動されるので、下記の"passwd"コマンドでパスワードを 再設定します。
$ passwd
New password: <新しいパスワード>
Retype new password: <新しいパスワード(再入力)>
(7) "reboot"コマンドでOSを再起動します。
$ reboot
2-2-2. システム管理がsystemd系OS
OSがRHEL7(CentOS7)以降のバージョンなど、Linuxのシステム管理が新しいsystemd系の場合には、以下の方法にてパスワードを再設定します。
(1) 該当サーバーを再起動します。
(2) OSの起動画面のKernel選択時に[e]キーを押して起動オプションの編集モードに入ります。
(3) "linux","linux16","linuxefi"の何れかで始まる行にある、オプション"rhgb"を削除して(もしオプシン"LANG=ja_JP.UTF-8"もあれば合わせて削除して下さい)、行末尾にスペースを空けてから、オプション"rw init=/bin/sh"を追加入力します。
(4) [Ctrl]+[x]キーを押して起動を継続します。
(5) rootのログイン状態で起動されるので、下記の"passwd"コマンドでパスワードを 再設定します。
$ passwd
New password: <新しいパスワード>
Retype new password: <新しいパスワード(再入力)>
(6) SELinuxが有効(Enforcing)な場合に限り、下記の"touch"コマンドを実行します。
$ touch /.autorelabel
(7) 下記の"exec"コマンド実行して通常の起動モードに移行します。
$ exec /sbin/init
(8) "reboot"コマンドでOSを再起動します。
$ reboot
systemd系には、init系のシングルモードに相当するレスキューモードで起動することができますが、改めてrootのパスワード入力が必要になるために今回のようなパスワードを忘れている場合の対処には使用することができません。(エマージェンシーモードでも同様にrootのパスワードが要求されます)