最近(v1.57)のTera Stationでのroot権限の取り方

| コメント(0) | トラックバック(0)
BUFFALO NASのTera Stationを買いました。
で、早速ネットワークに繋いで読み書きテスト・・・
Windowsからはうまくいったように見える
Linuxからは・・・オーナー情報消えてるじゃん!!

どういうことなの?

ということで調べてみたら
このNAS中身はどうやら普通のLINUXマシンで
NFSの設定(/etc/exports)に all_squash という項目があってどうやらこれがオンになっているご様子
しかたがないので、これを書き換えようとするわけですがここからが苦労の始まりでした。

なぜ、デフォルトでオーナーが消える設定になっているのか偉い人の考えることはよくわからないが、
それがこの世界の節理なので諦めて気合でどうにかすることにする。


ネット上にはいろいろな方法が載っていましたが、各種セキュリティホールがファームウェアがv1.57になって塞がれてしまったためどうしようもなくなってしまった。
以下v1.57より古いファームならできるかもしれない方法です。

ここからはファームv1.57に対しても有効だった方法です。
作業はシリアルポートからコマンドを入力しながらチェックして行うので、USBシリアルケーブルがあると便利です。
表のシリアルポートを使うためにはWebから
http://<テラステーション>/cgi-bin/task.cgi?task=console&param=on&uuu=admin&ppp=<password>
にアクセスすることで有効になります。

シリアルポートからログインするといろいろ見ることはできますが、書き換えるためにはroot権限が必要です。
実際には、root権限を得るためにファームウェアを書き換えます。
まず、おおもとのファームウェアを落としてきます。(下はTerastation Xシリーズのファームウェアです)

ファームウェアをダウンロード・展開すると(tsx-157/TS-X_FW1.57あたりに)
hddrootfs.img
initrd.img
があります。
これらはimgとなっていますが両方ともただのzipファイルです。
拡張子を書き換えて開こうとするとパスワードを聞かれますが適当に↓とかを参考にして展開します。

ここではinitrd.imgの中身が重要です。
initrd.imgの中身initrd.buffalo を書き換えます。
ここからはLINUXでないと大変なのでUBUNTUを使いました。
以下のコマンドでinitrd.buffalo をマウントできます。

# dd if=initrd.buffalo of=initrd.gz bs=64 skip=1
# gunzip initrd.gz
# mkdir /tmp/root
# mknod /dev/loop0 b 7 0
# mount -o loop initrd /tmp/root

これで/tmp/root以下にinitrd.buffaloの内容が展開されます。
ここで適当にファイルを書き換えられます。

書き換え自体は自由にできるのですが、Tera Stationでは起動時に一部設定ファイルを初期化しようとするので
初期化されないファイルを選んで書き換える必要があります。
自分はとりあえず以下を参考にしてrootのパスワード消去を行いました。


書き換えが終了したら、新たにinitrd.buffalo を作成します。
# umount /tmp/root
# gzip initrd
# mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo

これで作成したinitrd.buffaloをもう一度暗号化zip圧縮をして、
元のファイルを上書きしてファームウェアアップデートを行うと書き換えたファームウェアを使って書き込めます。
この時に失敗する場合には
ファームウェアアップデートのフォルダにあるTSUpdater.iniのVersionCheckを0にしたり、NoFormattingを0にしたりすることで回避できます。

以上の方法でroot権限を手に入れたらあとはシリアル接続から設定ファイルなども自由に変更できます。

------------
以下、上記以外の参考リンク
initrd.baffaloの改造


ddコマンド



トラックバック(0)

トラックバックURL: https://onulab.net/mt6/mt-tb.cgi/225

コメントする

プロフィール

おぬし(onuxy)

  • 「引きこもり」+「厨二病」+「コミュ障」の3称号を持つ男
  • 座右の銘は「働いたら負け!!」
  • 日々の生活を楽にするために全力で活動中

このブログ記事について

このページは、naegawaが2012年11月15日 23:22に書いたブログ記事です。

ひとつ前のブログ記事は「Doxygen + VisualC++でのはまりどころ」です。

次のブログ記事は「VC++でOpenCV2.3のサンプル(顔認識)を動かすまで」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 6.2.2