smb.confを以下のようにして共有ディレクトリを公開していたのだけども、ubuntu24.04の環境に同じ設定を入れたら、/path/to/public以下を読むことはできるが、書き込みできなくなってしまった。
[public] path = /path/to/public read only = no force user = nobody force group = nogroup public = yes
/path/to/publicのownerはnobody:nogroupであり、permissionは0755にしている。smbdのバージョンは
$ smbd -V Version 4.19.5-Ubuntu
permissionを0777にすれば書き込めるが、あまりやりたくない。この時書き込んだファイルのownerはnobody:nogroupになるので、nobody:nogroupで書き込もうとはしているようだ。
どうもgroupにも書き込み権限をつけないと書き込みできないようだ。この程度であれば許容なのでグループに書き込み権限を追加する。
$ chmod -R g+w /path/to/public
ついでに、sambaが作成したファイルやディレクトリのマスクも同様のpermissionにする設定をsmb.confに追加する
[public] path = /path/to/public read only = no force user = nobody force group = nogroup create mask = 0660 directory mask = 0770
これでファイルを書き込むことができるようになった。