RHEL6サーバーの1つで/etc/pam/d/system-authとPassword-authを変更した後、再起動後にsudoおよびsu機能が失われました。特に次の行を変更しました。
auth sufficient pam_unix.so try_first_pass
これに関して:
auth optional pam_unix.so try_first_pass
それでもサーバーにSSH接続し、標準ユーザーアカウントでログインできますが、ファイルを変更する権限がないため、この操作をキャンセルできます。このサーバーもVMです。私ができることはありますか? PAMのヒントはありますか?
答え1
ルートアカウントで自分自身をロックした場合は、物理アクセスを使用する必要があります。 2つの方法があります。
- システムを再起動します。ブートローダ(たとえば、Grub)プロンプトでルートシェルを要求します。 Grubを使用すると、ブートローダのプロンプトが表示されるようにキーを押す必要があります。通常、キーを押し続ける必要がありますShift。カーネルコマンドライン、つまりで始まる行を編集し
linux
てinit=/bin/sh
最後に追加します。起動すると、ルートシェルが表示されます。これを使用して、変更が必要な構成ファイルを変更します。この方法を使用するには、コンソールアクセスとロック解除されたブートローダが必要です。 - システムの電源を切ります。ハードドライブを取り外し、別のシステムに接続したら、システムパーティションをマウントします。変更する必要がある構成ファイルを編集します。この方法を使用するには、コンピュータの記憶領域へのアクセスが必要です。
システムが仮想マシンで実行されているため、「物理」アクセスは実際には仮想マシンが実行されているホストシステムのアカウントへのアクセスです。コンソールの再起動とアクセスは、物理的な状況の簡単なシミュレーションです。仮想マシンソフトウェアを使用してディスクにアクセスできます。以下はいくつかの方法です。
特にguestfsツールを使用してください。
guestmount
。次のように動作する必要があります。guestmount -a /path/to/vm.img -m /dev/sda1 ~/mnt
-
qemu-nbd -c /dev/nbd0 /path/to/vm.img mount /dev/nbd0p1 /mnt