スーパーマイクロサーバーからファイルサーバーのルートパスワードを紛失しました。
一般的な指示に従って左シフトで再起動し、説明されているようにルートシェルにドロップしようとしました この回答では 。
このメニューでルートを選択すると:
Ubuntuはまだルートパスワードを要求するか、押すことを提案します Ctrl+D リカバリメニューに戻ります。
ルートパスワードをリセットする他の方法はありますか?
マシンに物理的にアクセスできるため、ライブUSB/CD経由でこれを実行できます。
USBから起動し、「Ubuntuのインストール」ではなく「Ubuntuを試す」を選択します。
ターミナルを開きます(Ctrl+Alt+T)そして、最初にマシンのディスクを処理するデバイスを確認します。次のような出力を生成するlsblk
を使用してこれを実行できます(VMで手順を再現しているため、このためにライブCDを使用しました)。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119,2G 0 disk
├─sda1 8:2 0 16G 0 part [SWAP]
└─sda2 8:3 0 103,2G 0 part /
sr0 11:0 1 1024M 0 rom /cdrom
したがって、この場合は/dev/sda2
になりますが、これはインストールによって異なる場合があります。
ここで問題のパーティションをマウントします:
Sudo mount /dev/sda2 /mnt
今、あなたが最終的にできる部分に来ます1 chroot
に。
Sudo chroot /mnt
プロンプトがroot@ubuntu:/#
のようなものに変更されたことがわかります。次の手順は非常に簡単です。
passwd
を使用してユーザーのパスワードを変更します。
passwd root
passwd <main-user>
これはすでに完了しているはずですが、passwd
コマンドを使用してパスワードを設定できない場合は、うさぎの穴を深く掘り下げて /etc/shadow
ファイルを変更 、しかし、注意してください:これは非常に危険であり、あなた自身のリスクでこれを行います。
を押してchroot
を終了します Ctrl+D またはexitと入力します。 Sudo umount /mnt
でマシンをアンマウントし、Sudo reboot
で再起動します。 USB/CDを取り出して、問題のマシンを実際に起動していることを確認します。
1 このchroot
ingメソッドは、パスワードをリセットしたり、ユーザーをグループに追加したりグループから削除したりするには十分ですが、インストールされたシステムをchrootで完全に使用することはできません。 apt
などの他の多くのコマンドは、そのように設定されたchrootで実行すると失敗します。
ライブCD/DVD/USBからアクセスしているインストール済みのシステムで、たとえばソフトウェアのインストール、削除、更新などにより広範な修復を実行する必要がある場合- -その後、chroot
ingの前にいくつかの追加のマウントをセットアップします。これを行うには、これらのコマンドを実行しますafterSudo mount /dev/sda2 /mnt
を実行しますが、beforeSudo chroot /mnt
を実行します:
Sudo mount -o bind /dev /mnt/dev
Sudo mount -o bind /dev/pts /mnt/dev/pts
Sudo mount -t sysfs /sys /mnt/sys
Sudo mount -t proc /proc /mnt/proc
たとえば、別の/boot
パーティションなど、OSのさまざまな部分に複数のパーティションがある場合、それらを正しい位置にマウントする必要があります。たとえば、sdX
はその特定のドライブのデバイス名であり、n
はパーティション番号です。
Sudo mount /dev/sdXn /mnt/boot
chroot
コマンドを使用してパスワードをリセットするために、passwd
ingを実行する前にこれらのコマンドを実行しても問題ありません。しかし、それは必要ではありません。