ルートパスワードがわからず、マシンへのルートアクセス権がない場合、ルートパスワードを変更するにはどうすればよいですか?
ルートパスワードがわからず、マシンへのルートアクセス権がない場合、ルートパスワードを変更するにはどうすればよいですか?
回答:
邪魔にならないものから邪魔にならないものまで、私が考えられるいくつかの方法を以下に示します。
sudo:sudo
を実行する権限がある場合passwd
、次のことができます。
sudo passwd root
入力あなたのパスワードを、2回ルートの新しいパスワードを入力します。できた
ファイルの編集:これは、完全なsudo
アクセス権を持っていない場合でも機能しますが、編集するアクセス権は持っています/etc/{passwd,shadow}
。またはで開き/etc/shadow
ます。ルートのパスワードフィールド(2番目と3番目のコロンの間のすべてのランダムな文字)を自分のユーザーのパスワードフィールドに置き換えます。セーブ。ローカルはあなたと同じパスワードを持っています。ログインしてパスワードを別のものに変更します。sudoedit /etc/shadow
sudo $EDITOR /etc/shadow
:
これらは簡単なものです。
シングルユーザーモード:これはレナンによって説明されたばかりです。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
ます。これが実行される/bin/sh
の代わりにinit
、そしてあなたを与えるだろう非常にほとんどの設備が早期に殻を。この時点での目的は次のとおりです。
passwd
実行しています。passwd
コマンドでパスワードを変更します。特定のセットアップに応じて、これらは単純なもの(シングルユーザーモードの手順と同じ)または非常に重要なものです。モジュールのロード、ソフトウェアRAIDの初期化、暗号化されたボリュームのオープン、LVMの起動などです。なしではinit
、デーモンや他のプロセスを実行していませんが/bin/sh
、その子プロセスであるため、文字通り自分で実行できます。また、ジョブを制御できないため、入力する文字に注意してください。置き忘れたcat
ため、抜け出せない場合は再起動する必要があります。
Rescue Disk:これは簡単です。選択したレスキューディスクを起動します。ルートファイルシステムをマウントします。このプロセスは、ボリュームの階層構造によって異なりますが、最終的には次のようになります。
# 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つのステップに要約されます。
これはどんなディストリビューションでも機能するはずです。
ライブ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
1つを設定するために使用できます。
特に注意してください:
/etc/shadow
最初のバックアップコピーを作成します。passwd
、ライブCDからchroot環境で実行することをお勧めしませんか?
私が取るタグから判断すると、RHELを使用していると思いますが、このソリューションはすべてのディストリビューションで同様に機能するはずです。
ルートパスワードを忘れた場合、シングルユーザーモードで起動し、これを使用してパスワードを変更できます。このアプローチは、Red Hatのステップバイステップガイドで説明されています。
kernel
、eもう一度押します。single
ます。その後、プレスENTERとbそれからOOT。最終的にpasswd root
、パスワードを入力および変更できるプロンプトが表示されます。次にreboot
、システムを再起動するために入力します。
/boot/grub/grub.conf
してブートローダーのパスワードを削除し/etc/inittab
、シングルユーザーシェルを/ bin / sh(cc @pradeepchhetri)のようなものに変更します