概要
最近VS2017で**.NET Core**の実験を行う機会が増えたので、scpでのファイル移動が面倒になってしまい、Raspberry Piにメーカー名も分からなくなってしまったNASをつなげた。その際の備忘録を時系列で記す。
Kernel Version
$ cat /proc/version
Linux version 4.14.71-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1145 SMP Fri Sep 21 15:38:35 BST 2018
マウントポイントを作成
$ sudo mkdir /mnt/nas
$ sudo chmod 777 /mnt/nas
マウントしてみる
$ sudo mount -t cifs //192.168.0.100/share /mnt/nas -o username=UserName,password=Password,rw,uid=1000,gid=1000,iocharset=utf8
mount error: cifs filesystem not support by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
ググる
keywords: raspberry pi cifs filesystem not support by the system
Raspberry Piでcifsが使えなくなった件 - Qiita がHit
$ cat /proc/filesystems | grep cifs
$
無反応
$ sudo rpi-update && reboot
再起動後
$ cat /proc/filesystems | grep cifs
nodev cifs
$
マウントしてみる2
$ sudo mount -t cifs //192.168.0.100/share /mnt/nas -o username=UserName,password=Password,rw,uid=1000,gid=1000,iocharset=utf8
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
optionについて、綴りを見直したり、入れ替えたり、削ったり、しばし悪戦苦闘...
飽きた。
ググる2
Keywords: raspberry pi cifs mount error(22)
**ヒント: 日本語の検索結果のみ表示します。**と表示されているのに日本語ページは9件中1件だけだった。へたれなので日本語のページを見る。
cifsでmount error(22): Invalid argumentの場合、ver2.1を付ける
とのこと。
マウントしてみる3
$ sudo mount -t cifs //192.168.0.100/share /mnt/nas -o username=UserName,password=Password,rw,uid=1000,gid=1000,vers=2.1,iocharset=utf8
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
変化なし。
その時、Error出まくりの際logを調べた記憶がよみがえった。
$ tail -n 10 /var/log/messages
...
Nov 9 23:07:28 raspberrypi kernel: [ 281.907124] FS-Cache: Netfs 'cifs' registered for caching
Nov 9 23:07:28 raspberrypi kernel: [ 281.909328] Key type cifs.spnego registered
Nov 9 23:07:28 raspberrypi kernel: [ 281.909349] Key type cifs.idmap registered
Nov 9 23:07:28 raspberrypi kernel: [ 281.910584] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
最後の行にvers=1.0にしろと書かれていた。NASが古くてSMB1しか解さないのが原因だった。
同様のメッセージが /var/log/kern.log にも吐かれていた。
Invalid argumentって出るから、綴り間違いだと勘違いしてしまっていた。
マウントする
$ sudo mount -t cifs //192.168.0.100/share /mnt/nas -o username=UserName,password=Password,rw,uid=1000,gid=1000,vers=1.0,iocharset=utf8
$
結論
新しいNASの箱が欲しい。
SMB1にはセキュリティに対する脆弱性が見つかっているので、皆さんはマネしないこと。