[chromebook] Crostini環境にWindowsファイル共有(smb)をマウントする

今入っているプロジェクトが、VPNでつないでファイルサーバ(Windows)にアクセスしてね〜、というルールだったので、めんどくせーなクラウドに置けよchromebookで作業できるように準備しました

素直にはsmbをマウントできなかった

素直なLinuxならcifs-utilesでsmbをマウントできます
参考 Ubuntu から Windows の共有フォルダをマウントして利用する

chromebookでもできるだろと思っていたら、kernel moduleがないよ的なエラー(詳細は失念)でできないと判明
どうしたものかと調べたら、Dropboxのときと同様、こちらもFUSEでマウントできる方法がありました

ほぼ元記事そのままになるけど、手順メモです

FUSEを使ってマウントする方法

まずはインストール

$ sudo apt install fuse smbnetfs

fuseグループを作って、ログインユーザをグループメンバーにする
(必要ないかもしれないけど元記事がやっているので同じように実行)

$ sudo groupadd fuse
$ sudo gpasswd -a "$USER" fuse

設定ファイルを作る
ここでは~/network以下にマウントする例なので、別の場所にマウントしたければこれを書き換えます
[user][password]のところはファイルサーバの認証ID/PWをいれてください

$ mkdir ~/.smb
$ cp /etc/smbnetfs.conf ~/.smb/
$ echo "auth [user] [password]" > ~/.smb/smbnetfs.auth
$ chmod 600 ~/.smb/smbnetfs.auth
$ mkdir ~/network
$ smbnetfs ~/network

これで例えば192.168.1.2というsmbサーバ上のhogehogeという共有ポイントにアクセスするのであれば、~/network/192.168.1.2/hogehoge でアクセスできる・・・そうです
自分の場合はこれだけではアクセスできなかった(あとから考えたら単にパスワード間違えてただけかもしれないけど)ので、さらに設定を追加しました

ここまでの流れでsmbnetfsでマウント実行していたときはアンマウントしておきます

$ fusermount -u ~/network

~/.smb/smbnetfs.host というファイルを作って(アクセス権は600が良いようです)内容を以下のようにします
※ 192.168.1.2がファイルサーバのアドレス、WORKGROUPがワークグループ名、hogehogeが共有ポイント名

host 192.168.1.2 WORKGROUP visible=true
link hogehoge 192.168.1.2/hogehoge

この状態でsmbnetfsでマウントやり直し

$ smbnetfs ~/network

これで~/network/hogehoge でアクセスできるようになりました!
(linkで設定したので~/network/192.168.1.2/hogehogeに加えて~/network/hogehogeにもマウントされています)