TS-QVHLをSMB2.0対応させる

Page content

TS-QVHLという古いテラステーションがある。
機能的には問題ないが、SMB2.0に対応していないという致命的欠陥があるのでSMB2.0に対応させる。

内部で使用されているsmbdのバージョンは3.6なので、対応できるはず…

用意するもの

  • ディスプレイ
  • コンソールケーブル
  • acp_commander.jar
  • 母艦

やること

  1. シリアルコンソール経由で、adminでログイン
  2. acp_commander.jarを用いて、/etc/shadowを編集できるように
  3. シリアルコンソール経由で、/etc/shadow編集
  4. シリアルコンソールで、rootログイン
  5. telnet有効化
  6. Telnetでrootログイン
  7. /etc/init.d/smb.shに細工する
  8. クライアントのsmb1.0サポートをオフ

シリアルコンソール経由で、adminでログイン

terastationに適当なディスプレイをつないでおく。
コンソールケーブルを母艦につなぐ。teraterm辺りで、ボーレート115200kbpsで待っておく。
terastationを起動する。grubが出てきたら、2番目の項目を選択(コンソールが有効化される)
teraterm上に起動ログが流れていくことを確認する。
起動後、teraterm上でログインする。ユーザー名はadmin パスワードはWEB-UIで用いたもの。

acp_commander.jarを用いて、/etc/shadowを編集できるように

/etc/shadowを編集するため、acp_commander.jarを用いてパーミッションを変更する。
母艦のファイアウォールを切っておき、コマンドプロンプトから

を実行。TeraStationのコンソールへ接続されるので、

を実行し、/etc/shadowのパーミッションを666へ変える

シリアルコンソール経由で、/etc/shadow編集

teratermのコンソールに戻る。ここで、/etc/shadowのrootパスワードを無効化する。

を実行。
rootの行を

へ置き換える。最後に、エスケープ→:wq→エンターで上書き保存する。

シリアルコンソールで、rootログイン

いったん、teratermのコンソールをログアウトし、rootでログインする。パスワードは空白。

telnet有効化

/etc/init.d/rcS 末尾にtelnetdを追記する。

一度再起動する

起動を確認したら、teraterm上で、テラステーションのIPへtelnetで接続。rootでログインする。パスワードは空白でよい。

/etc/init.d/smb.shに細工する

ここからが本題。rootでテラステーションへログイン出来たら、

を実行する。

と入力し、

の行を検索する。この行の下に

と入力し、強制的にsmb2を有効化する(smb2に対応していないクライアントは切り捨てられるので、そういうクライアントがある場合、max protocolのみ書く)

エスケープ→:wq→エンターで上書き。

クライアントのsmb1.0サポートをオフ

クライアントで、smb1.0を有効化している場合、無効化しないとつながらなくなる。
コントロール パネル\すべてのコントロール パネル項目\プログラムと機能→Windowsの機能の有効化または無効化
→SMB1.0/CIFSファイル共有のサポートのチェックを外す。
クライアントを再起動する。

以上で、smb2.0の対応は終了…。