ルート パスワードがわからず、マシンへのルート アクセス権もない場合は、どうすればルート パスワードを変更できますか?
答え1
以下に、最も邪魔にならないものから最も邪魔になるものまで、私が思いつく方法をいくつか挙げます。
再起動せずに
sudo を使用する場合:sudo
を実行する権限がある場合はpasswd
、次の操作を実行できます。
sudo passwd root
入力あなたのパスワードを入力し、root の新しいパスワードを 2 回入力します。完了です。
ファイルの編集: これは、フルアクセス権を持っていない場合でも機能しますsudo
が、するを編集する権限があります/etc/{passwd,shadow}
。/etc/shadow
をsudoedit /etc/shadow
、または を使用して開きますsudo $EDITOR /etc/shadow
。root のパスワード フィールド (2 番目と 3 番目のコロンの間のすべてのランダムな文字:
) を自分のユーザーのパスワード フィールドに置き換えます。保存します。ローカルのパスワードはあなたと同じです。ログインして、パスワードを別のものに変更します。
これらは簡単なものです。
再起動が必要です
シングルユーザーモード: これは Renan が説明したとおりです。GRUB (またはブートローダー) にアクセスでき、Linux のコマンド ラインを編集できる場合は機能します。Debian、Ubuntu、その他の OS を使用している場合は機能しません。一部のブートローダー構成ではパスワードが必要であり、続行するにはパスワードを知っておく必要があります。さっそく説明しましょう。
- リブート。
- 起動時のパスワードがある場合は入力します。
- ブートローダーのメニューに入ります。
- シングル ユーザー モードが利用可能な場合は、それを選択します (Debian では「リカバリ モード」と呼ばれます)。
- そうでない場合は、GRUB を実行します。
- 通常のブート オプションを強調表示します。
- 編集モードに入るにはこれを押しますe。そこで GRUB パスワードの入力を求められる場合があります。
kernel
またはで始まる行を強調表示しますlinux
。- プレスe。
- 最後に「single」という単語を追加します。(先頭にスペースを入れるのを忘れないでください!)
- Enter編集したスタンザを押して起動します。一部の GRUB はCtrl- を使用しX、一部は を使用しますb。どちらであるかは画面の下部に表示されます。
システムはシングル ユーザー モードで起動します。ディストリビューションによっては、この時点では root パスワードを要求されないものもあります (Debian および Debian ベースのディストリビューションでは要求されます)。これで root になりました。パスワードを変更します。
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
またはreboot
、通常のランレベルがわかっている場合は、telinit 2
(またはそれが何であれ)と入力します。
交換init
: 表面的にはシングルユーザーモードのトリックに似ており、ほぼ同じ手順ですが、コマンドラインのスキルがはるかに必要になります。カーネルを上記のように起動しますが、 の代わりに をsingle
追加します。これはの代わりにinit=/bin/sh
実行され、/bin/sh
init
とてもアメニティがほとんどない初期のシェル。この時点での目標は次のようになります。
- ルートボリュームをマウントします。
- 走り出せ
passwd
。 - コマンドを使用してパスワードを変更します
passwd
。
特定の設定に応じて、これらは些細なこと (シングル ユーザー モードの手順と同じ) になる場合もあれば、非常に重要なこともあります (モジュールのロード、ソフトウェア RAID の初期化、暗号化されたボリュームのオープン、LVM の起動など)。 がなければinit
、デーモンやその他のプロセスは実行されず、 と/bin/sh
その子プロセスだけが実行されるため、文字通り自分自身で対処するしかありません。ジョブ制御も行われないため、入力内容には注意してください。 を 1 つ間違えるcat
と、そこから抜け出せなくなり、再起動が必要になる場合があります。
レスキューディスク: これは簡単です。お好みのレスキュー ディスクを起動します。ルート ファイル システムをマウントします。プロセスはボリュームの階層化方法によって異なりますが、最終的には次のようになります。
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
当然ですが、$SOME_ROOT_DEV
はレスキュー ディスクによってルート ファイル システムに割り当てられたブロック デバイス名であり、 は$EDITOR
お気に入りのエディターです (vi
レスキュー システム上に存在している必要がある場合があります)。 の後reboot
、マシンを通常どおり起動します。ルートのパスワードは、自分のユーザーのパスワードになります。ルートとしてログインし、すぐにパスワードを変更します。
他の方法
明らかに、上記には無数のバリエーションがあります。それらはすべて、次の 2 つのステップに要約されます。
- コンピュータのルートアクセスを取得する(ジレンマと本当のトリック)
- 何らかの方法でルートのパスワードを変更します。
答え2
これはほぼすべてのディストリビューションで動作するはずです。
ライブ CD など、別のシステムからルート パーティションにアクセスできる場合は、そこからルートとして を編集できます/etc/shadow
。まず、 を実行する必要がありますchmod u+w shadow
。 のエントリを探しますroot
。おそらく最初のエントリで、次のようになります。
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
最初の 2 つのコロンの間のすべてを消去して、次のようになります。
root::15666:0:99999:7:::
次にchmod u-w shadow
、システムを再起動すると、root にパスワードがなくなります。root
ログイン プロンプトで入力するだけで、パスワードを要求されません。その後、 を使用してpasswd
パスワードを設定できます。
特に注意すべき点:
- まずバックアップコピーを作成します
/etc/shadow
。 - 新しいパスワードを設定するまでは、root以外のユーザーとしてログインしないでください。これは重要ではありませんが、権限のないマルウェアが何らかの攻撃を行うという理論上の可能性を防ぐことができます。ヘイルメリーパス(「ねえ、ルートパスワードはないかもしれない...」)。私の意見では、ちょっと無理があると思います。
答え3
タグから判断すると、RHEL を使用していると思われますが、このソリューションはすべてのディストリビューションで同様に機能するはずです。
ルートパスワードを忘れた場合は、シングルユーザーモードで起動してパスワードを変更できます。この方法については、Red Hat ステップバイステップガイド:
- GRUB メニューに入り、を押しますe。
- で始まる行を選択し
kernel
、eもう一度押します。 - この行の末尾に を置きます
single
。次に を押してENTER、bそこから を出力します。
passwd root
最終的に、パスワードを入力して変更できるプロンプトが表示されます。次に、パスワードを入力してreboot
システムを再起動します。