Rootパスワードがわからず、マシンへのrootアクセス権がない場合、どうすればrootパスワードを変更できますか?
以下は、私が考えることができるいくつかの方法です。最も煩わしいものから最も煩わしいものまでです。
Sudo:を使用する場合Sudo
を実行するpasswd
権限がある場合、次のことができます。
Sudo passwd root
yourパスワードを入力してから、rootの新しいパスワードを2回入力します。できました。
ファイルの編集:これは、完全なSudo
アクセス権がありませんが、do/etc/{passwd,shadow}
を編集するアクセス権があります。 /etc/shadow
を開くには、sudoedit /etc/shadow
またはSudo $EDITOR /etc/shadow
を使用します。 rootのパスワードフィールド(2番目と3番目のコロン:
の間のすべてのランダムな文字)を、自分のユーザーのパスワードフィールドに置き換えます。セーブ。ローカルはあなたと同じパスワードを持っています。ログインして、パスワードを別のパスワードに変更します。
これらは簡単なものです。
シングルユーザーモード:これはRenanによって説明されたばかりです。 GRUB(またはブートローダー)にアクセスでき、Linuxコマンドラインを編集できる場合に機能します。Debian、Ubuntuなどを使用している場合は機能しません。一部のブートローダーの設定にはパスワードが必要であり、続行するにはパスワードを知っている必要があります。
kernel
またはlinux
で始まる行を強調表示します。システムはシングルユーザーモードで起動します。現時点では、一部のディストリビューションはrootパスワードを要求しません(DebianおよびDebianベースのディストリビューションは要求します)。あなたは今ルートです。パスワードを変更してください:
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
を追加します。これはinit
の代わりに/bin/sh
を実行し、very初期のシェルをほとんどアメニティなしで提供します。この時点での目標は次のとおりです。
passwd
を実行します。passwd
コマンドを使用してパスワードを変更します。特定のセットアップに応じて、これらは取るに足らない(シングルユーザーモードの手順と同じ)か、モジュールのロード、ソフトウェアRAIDの初期化、暗号化ボリュームのオープン、LVMの起動など、非常に重要です。 init
がないと、デーモンやその他のプロセスは実行されていませんが、/bin/sh
とその子は実行されているので、文字通り自分で操作できます。また、ジョブコントロールがないため、入力する文字に注意してください。 cat
を1つ置き間違えたため、抜け出せない場合は再起動する必要があります。
レスキューディスク:これは簡単です。選択したレスキューディスクを起動します。ルートファイルシステムをマウントします。プロセスは、ボリュームの階層化方法によって異なりますが、最終的には次のようになります。
# 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
の後に、マシンが正常に起動するようにします。 rootのパスワードは、自分のユーザーのパスワードになります。 rootとしてログインし、すぐに変更します。
明らかに、上記には無数のバリエーションがあります。それらはすべて2つのステップに要約されます。
これは、ほとんどすべてのディストリビューションで機能するはずです。
別のシステムからルートパーティションにアクセスできる場合。ライブCD、そこからrootとして/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
のバックアップコピーを作成します。タグから判断すると、RHELを使用していると思いますが、このソリューションはすべてのディストリビューションで同じように機能するはずです。
Rootパスワードを忘れた場合は、シングルユーザーモードで起動し、これを使用してパスワードを変更できます。このアプローチは Red Hatのステップバイステップガイド で説明されています:
kernel
で始まる行を選択して、 e 再び。single
を置きます。次に押す ENTER そして bそれからすごい。最終的に、passwd root
と入力してパスワードを変更できるプロンプトが表示されます。次に、reboot
と入力してシステムを再起動します。