FreeBSD12.0Rとzfsでsticky bitが無効である件

某所のファイルサーバを更新するため、FreeBSD12.0-RELEASEとzfsを使ってsambaを動かす下準備をしていたのだけれど、

「メンバーの誰もが書き込めて、メンバーの誰もが読み出せて、しかしフォルダやファイルの削除だけは作成者本人しか出来ない領域」

を作ろうとしてもなかなか上手く行かない。

ああそうだ、こういう場合はディレクトリにsticky bitを立てるんだったなと思ってchmod 1777 sharedとかやっても、やっぱり他人にもファイルを削除できてしまう。

最初はsamba側の設定がおかしい(force user=誰々とかね)のかと思っていたけど、そうでもない。散々試行錯誤していたところ、zfsのACLの問題じゃないかと思い至った。

https://lists.freebsd.org/pipermail/freebsd-stable/2014-July/079340.html

キタ――(゚∀゚)――!! まさにこれですよ!

…なるほどね。従来のchmodじゃあダメなのね。(でも/tmp/はsticky bitが上手く動いてる気もするんだけどまあ気にしない)

という訳で、samba共有フォルダに対して↑のようにaclを設定してあげたら希望通りの動作になったような気がしています。(後方互換的にsticky bitが動作するようにしといて欲しいけどまあその辺りは色々と事情があるんでしょう)

以上、個人的( ..)φメモメモ

コメントを残す

メールアドレスが公開されることはありません。