【NAS】BuffaloのNAS(TS-QVHL)をSMB2対応に変更する(2)

サーバー

はじめに

前回は設定ファイルを変更し、SMB2で動作できる所まで確認できました。
しかし再起動すると、変更したものが初期値に戻ってしまってsmb2が無効なる現象が発生しています。
今回は再起動してもsmb2が有効になるよう、設定変更してみたいと思います。

概要

NASのファイルを変更します。

/etc/init.d/smb.sh

前回変更したファイル/etc/samba/smb.confの1行目に「max protocol = SMB2」を、毎回起動時に追記するように変更します。
このファイル中のconfigureクラスの最後に、以下の行を挿入します。
sed -i “1a \ max protocol = SMB2” /etc/samba/smb.conf

準備

/etc/init.d/smb.shの中を表示し、挿入する行数を調査します。(*****はadminのパスワード)

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw ***** -c "cat /etc/init.d/smb.sh"
34:configure()
35:{
36:        ## built-in account(admin / guest) passwd db check.
37:        pdb_check=`/usr/local/bin/pdbedit -L |grep ^admin:`
38:        if [ "${pdb_check}" = "" ] ; then
39:              echo -e 'password\npassword\n' | /usr/local/bin/smbpasswd -as admin
40:             echo -e '\n\n' | /usr/local/bin/smbpasswd -as guest
41:     fi
42:
43:     ## configure files from Buffalo parameters.
44:     echo "configure samba"
45:
46:     # for active directory logon
47:     if [ "$domain" == "ad" ] ; then
48:             /usr/local/bin/create_krbconf.sh ${pdc} ${ad_dns}
49:             /etc/init.d/sethostname.sh
50:     fi
51:
52:     if [ "${smb2}" = "" ] ; then
53:             ## smb2 default on
54:             echo "smb2=on" >> /etc/melco/info
55:     fi
56:
57:        touch /etc/printcap
58:        /usr/local/sbin/nas_configgen -c samba
59:        if [ $? -ne 0 ]; then
60:                echo "$0 configure fail"
61:                exit 1
62:     fi
63:}

上の状態であれば、62行目の直後に挿入する事になります。

変更

以下コマンドで変更していきます。
sed命令が入れ子になっているので、エスケープシーケンスに注意が必要です。

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw ***** -c "sed -i '62a \        sed -i \"1a \\    max protocol = SMB2\" \/etc\/samba\/smb.conf' /etc/init.d/smb.sh"

反映されたか確認します。
確認したい行数が後ろの方にあるので、tailコマンドを使用します。

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw ***** -c "tail -n +30 /etc/init.d/smb.sh"

NASを再起動します。

確認

起動後、/etc/samba/smb.confの1行目に追記分が反映されているか確認します。

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw ***** -c "cat /etc/samba/smb.conf"

問題無く反映されました!
次に接続状況をWindows PowerShellで確認します。

smb2で接続されているようです。

まとめ

記事を2回に分けて手順を書いてきました。
結果的にsmb2対応だけなら、前回の記事を飛ばして今回の記事のみで完結します。
しかし、smb2できっちりと前回のように動作確認を行ってから対応をした方がおすすめです。
(自己責任でお願いします)

今回はTS-QVHLを対応しましたが、次はTS-XHLについても今後対応したいと思います。

2021/5/31

TS-XHLもSMB2対応してみました。

コメント