Just a memorandum. I noticed we need to specify a user name in capital in ~/.nsmbrc for smbfs.
ただの備忘録です。
本来、ファイルサーバー(NAS)に NFS サーバーの機能があれば楽なのですが、SMB (Samba) しかサポートしていないファイルサーバーを NetBSD などからマウントしたいとき、smbfs というファイルシステムクライアントを使うと便利です。最近の NetBSD には、mount_smbfs というコマンドが初めから用意されているようです。
しかしこのツール、次の点が分かりづらいです。
- mount_smbfs のコマンドラインオプションを /etc/fstab で指定するにはどうするの? (mount_smbfs に限らず一般的な話題かもです)
- SMB パスワードを /root/.nsmbrc に書いても、mount -a でパスワード訊かれちゃうんだけど
という訳で備忘録です。
まず前者ですが、mount_smbfs のコマンドラインオプションを /etc/fstab で指定するには、こうするようです。ここでは、-u1234 -g100 -N を指定したい場合です。
//fugafuga@10.0.0.1/dirname /mnt/dirname smbfs rw,-u1234,-g100,-N 0 0
つまり、rw などのオプションに続けてカンマで区切り、- (ハイフン)で始めればいいんですね。知ってしまえばなんてことないのですが、知らないと悩みます。
次に SMB パスワードを .nsmbrc に書く方法です。まず第一に、どこのユーザーディレクトリに書いたらいいのか? SMB のユーザーとは関係ないようなので、mount_smbfs を実行するユーザーで良いようです。つまり、NetBSD ならば /root。つまり、/root/.nsmbrc にこんなふうに書きます。
[10.0.0.1:FUGAFUGA] password=himitsu
注意点は、ユーザー名を大文字で書かなくてはいけないということのようです(バージョンに依るかもですが)。ネットで情報を探すとヒントは見つかるのですが、明確な答えはなかなか見つかりませんでした。本当は、mount_smbfs にデバッグオプションとかあればいいんでしょうけどね。
ちなみにユーザーを小文字で書いたりすると正しく認証されないようで、次のようなエラーが出ます。
mount_smbfs: unable to open connection: syserr = Authentication error mount_smbfs: lookup 80: Authentication error
無事に解決。。。