2014/05/27

[余談] Buffalo TS5400 シリーズで管理者パスワードを忘れた場合の対処

職場で Buffalo TS5400R という、ラックマウント型のNASが使えるようになった。

ISOイメージや製品インストーラやアップデータ、検証時のキャプチャ画像など、なにかと一時的なデータの量が多いので、一時的な物置として用意されたのだ。

使ってみると、UIは割と分かりやすく、また HTMLファイルを適当にアップロードすればWebサーバになったり、MySQLやPHPが内蔵されていて動的なWebページを持つサーバとしても利用できる、SOHOでのWebサーバなんてこれがあれば十分じゃないのか?という感じでなかなか良い。
( もっとも、 iSCSI機能については少々 挙動不審なところがある。iSCSI ストレージとして使いたいなら、Terastation IS (TS-RIXシリーズ)を買え、という事なのだろう...、まあ、iSCSI有効にして ESXi に繋ごうとするのがそもそもの間違いというか。)

折角だからと色々試みているうちに、気がついたら管理者パスワードを忘れてしまったのか、管理画面でユーザ:admin、パスワードを知っている限り入力してもログインできなくなった。

しょうがないのでパスワードリセットの方法を探したが、FAQはこのとおり、サポートに電話してもパスワードリカバリーUSBを作ってなければどうしようもない、修理扱いになる、との返事でした。まあ、これはサポートが言う事が正しく、作ってなかった私が悪いのだが。

と、嘆いていても仕方ないので、なんとかしてみることとした。

このNAS、後ろ側を見ると USBポートがあるのはともかく、何故か VGAコネクタと「HDD-USB」と書かれたスライドスイッチなんかがある。ディスプレイを繋ぐと、Linux を起動しているのがよく分かる。

ためしに、USBメモリに適当なx86なLinuxを突っ込んで、スライドスイッチをUSB側にして電源を入れたところ、一応起動はした。どうもCPUも x86っぽい。ならば、USBから起動することでパスワードリセットぐらいできるだろう。

ただ、そのLinuxの選定で苦労した。 gparted-live-0.18.0-2-i486 を使ったところ、どうも起動途中でドライバーが足りないっぽいメッセージで fail する。ubuntu-ja-12.10-desktop-i386 の場合は、こんどは CPUパワーか RAMか何か足りないのか、起動途中でハングアップする。

結局、systemrescuecd-x86-4.2.0 で何とか起動に成功した。この systemrescuecd だが、混まんドライベースになるが結構良くできている。

ともあれ、dmesg をもとにデバイスを判断し、mount /dev/md1 /mnt とかしてマウント、/mnt/etc/shadow ファイルを編集、admin ユーザのパスワードを消して再起動することでパスワードリセットに成功した。

デバイスが /dev/md* になるのは、LVM を使ってない場合に限る。このとき /dev/md0 が /boot に相当、/dev/md1 が / , /dev/md2 が swap になる模様だ。LVMが使われた場合も、割と Linux の標準的な構成になるはずなので、適当に探ってほしい。


なお、ISOイメージから USBメモリにブート可能で書き込むのには、UNetbootin を利用した。これも、Mac 版はどうもうまく動いてないというか、書き込みが終わってもブート可能になってない模様。(他のサイトにもあったが、MBR のアクティブフラグが原因かと考えフラグを立ててみたが、改善されず)
使ってる人も多いだろう  Windows版の場合はまったく問題ないので、深追いせず VMware Fusion 上の Windows7 でさっさと作ってしまった。仮想環境でも、 plopbootmanager を併用すれば起動確認もできる。

ともあれ、仮想化とは全く関係がないのだが、メモ代わりに残しておく。