PCManFM で NAS の共有を開く

 PCManFM で smb 共有を開くように出来ましたが、古い NAS の共有が開けなくなりました。

 古い NAS なので、smb のプロトコルも古いためです。調べてみると、PCManFM が使用する gvfs では、libsmbclient を使っているので、samba の設定を変えてやればいいようです。

 設定の変更方法は、/etc/samba/smb.conf を修正する方法と、~/.smb/smb.conf.append を使う方法があるようです。

 libsmbclient を使うようなので、コマンドラインから確認できるように、smbclient をインストールしました。

$ sudo apt install smbclient


$ smbclient -L ホスト名 -N
protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED

 試してみると、「protocol negotiation failed ・・・」となり、繋がりません。

 まず、/etc/samba/smb.conf を修正することにしました。プロトコルの指定は次のようにするようです。

client max protocol = xxx
client min protocol = xxx

 xxx はプロトコルで、CORE, NT1, SMB2_XX, SMB3_XX が使えるようです。XX はサブプロトコルで数字が入ります。SMB2 は samba Ver.3.5(6) でしか使えないようです。Ver.4 以降では、SMB2_XX, SMB3_XX になるようです。

 Windows10 の共有も使いたいので、client max protocol は指定せずデフォルトのままにします。デフォルトだと、最新のプロトコルになるようです。

 NAS につなげるためには、client min protocol を CORE または、NT1 にする必要がありました。client min protocol のデフォルトを確認すると、SMB2_02 のようでした。
.
 /etc/samba/smb.conf の [global] セクションに追加しました。

lient min protocol = NT1

 この状態で smbclient が繋がりました。

$ smbclient -L ホスト名 -N
	Sharename       Type      Comment
	---------       ----      -------
	Share           Disk      Share to All
	WEB             Disk      WEB
	Download        Disk      BitTorrent Download Folder
	Torrent         Disk      Torrent File Folder
	Video           Disk      VIDEO Data
	IPC$            IPC       IPC Service (PlanexNAS-01G)
	ADMIN$          IPC       IPC Service (PlanexNAS-01G)
Reconnecting with SMB1 for workgroup listing.
・
・

 PCManFM からも NAS が使えるようになりました。

 次に、/etc/samba/smb.conf はもとに戻して、~/.smb/smb.conf.append を作成しました。

$ mkdir ~/.smb
$ vi ~/.smb/smb.conf.append

 内容は次の 2 行です。

[global]
client min protocol = NT1

 PCManFM はこれでもつながるようになりました。

 しかし、smbclient の方は、これでは繋がりませんでした。libsmbclient とは少し動作が違うようです。

 システムの設定ファイルはあまり変えたくないので、~/.smb/smb.conf.append で PCManFM を使うようにしました。

Raspberry Pi

Posted by sirius