2008/06/03

パスワードを紛失したDomUをリカバリ

DomUのパスワードを忘れてしまった場合の復旧作業のメモ。
簡単に言うと、当該DomUのイメージファイルなり論理ボリューム(logical volmume, LV)をマウントし、/etc/shadowを編集すればよい。DomUで論理ボリュームを使用している場合、Dom0と同じボリュームグループ(volume group, VG)名だと面倒なことになる(『LVMをXenを使ってサルベージする』参照)ため、Dom0のVG名は、事前にVolGroup00ではなく、例えばVolGroupXX等に変更しておく。以下、Dom0上で作業する。
# kpartx -a /dev/VolGroupXX/LVNAME
# pvscan
PV /dev/mapper/LVNAME VG VolGroup00 lvm2 [3.88 GB / 0 free]
PV /dev/sda2 VG VolGroupXX lvm2 [135.47 GB / 91.53 GB free]
Total: 2 [139.34 GB] / in use: 2 [139.34 GB] / in no VG: 0 [0 ]
# vgchange -ay VolGroup00
2 logical volume(s) in volume group "VolGroup00" now active
# mkdir /mnt/root
# mount /dev/VolGroup00/LogVol00 /mnt/root
#
ここで、/mnt/root/etc/shadow(DomUの/etc/shadow)を適宜編集する。このファイル中のパスワードフィールドは、以下の手順で生成することができる。
$ openssl passwd -1
Password: パスワード
Verifying - Password: パスワード
$1$mvOZS5mn$TbBh6lcKrGn.y5Hvzk/MK.
$
編集後、後始末する。
# umount /mnt/root
# vgchange -an VolGroup00
0 logical volume(s) in volume group "VolGroup00" now active
# kpartx -d /dev/VolGroupXX/LVNAME
#

0 件のコメント: