TS-QVHLをSMB2.0対応させる
TS-QVHLという古いテラステーションがある。
機能的には問題ないが、SMB2.0に対応していないという致命的欠陥があるのでSMB2.0に対応させる。
内部で使用されているsmbdのバージョンは3.6なので、対応できるはず…
用意するもの
- ディスプレイ
- コンソールケーブル
- acp_commander.jar
- 母艦
やること
- シリアルコンソール経由で、adminでログイン
- acp_commander.jarを用いて、/etc/shadowを編集できるように
- シリアルコンソール経由で、/etc/shadow編集
- シリアルコンソールで、rootログイン
- telnet有効化
- Telnetでrootログイン
- /etc/init.d/smb.shに細工する
- クライアントの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の対応は終了…。