昔 NFS でハマった気がしていて SMB を使っていたんだけど、一体何だったかな…… ユーザ管理まわりかロックまわりか、はてさて
この機会に NFS v4 使うようにしてしまおうの気持ちがある
あーあー思い出してきたぞ、ユーザのマッピングがクソ面倒だったんだ。
User ID をクライアントとホストで合わせるのは万が一のときにセットアップコストが高くなってしまうし、かといって Kerberos のセットアップするのもクソダルそうと思ったんだった
DiskStation で作った最初のユーザの UID が 1026 だった顔をしている、そういえばそうだったわ。完全に思い出した
User ID mapping with NFS on Synology NAS - Super User
https://superuser.com/a/1006751
動くのはわかるんだけど嫌すぎる。
たとえば家に人を呼ぶことがあって NFS でスッと繋がれたら管理者権限でアクセスできてしまうということでしょ……
そもそも NFS (での UID マッピング等による認証) が、前提として LAN 内に信頼できるホストしかいないという状況を想定しているってことなのか……?
一応 IP アドレスによる制限をかけるという手もあるけど、それやるとデスクトップ PC の方のローカル IP アドレスを固定しないといけなくて、ちょっと嫌なんだよな (DHCP 使いたい)
docker - Mount network share with nfs with username / password - Stack Overflow
https://stackoverflow.com/a/57599993
この CIFS と NFS の違いの説明、めちゃくちゃわかりやすいな。今年一番の納得体験だわ (正しいのかは知らんけど)
つまりなんだ、結局 NFS は (Kerberos 認証などしないのであれば) ストレージそのものを露出してるのと似たようなものだから、信頼できないクライアントがアクセスできてしまう時点で NANIMO KAMO OWARI ってことか……
うーん
公開されているサーバとかで NFS 使うときも結局プライベートなネットワークなりで繋いでいるから NFS のサーバは IP アドレスと UID を見れば十分なのか
となると選択肢は4つで、
* NFS を諦めて SMB 使うか、
* ssh か何かのトンネル掘って認証かけたレイヤーの上で NFS 使うか、
* クライアントの IP アドレスを固定してアクセス制限してしまうか、
* Kerberos の認証を用意するか
だな……