Lion Serverアクセスコントロール個人的メモ2:特定ユーザに共有ポイントを見せない

いま共有専用ユーザaliceが居るとする。このaliceは他のユーザと同じグループに所属しているとする。Server.appのファイル共有の設定で、フォルダUsersを「次を利用してホームディレクトリを使用可能にする:AFP」を有効にしていると、その共有ポイントが見えてしまう。
具体的には以下のようなディレクトリ配置を想定。

Volume┬alice
      ├bob_only
      └Users┬bob
            :

例えばホームを持つユーザbobがファイル共有すると「bob_only, Users, bob(ホームディレクトリ)」が見える。しかしaliceがファイル共有したときに「alice, Users」じゃなく「alice」だけが見えるようにしたい。

これを実現するには、Usersに対して、以下のようにACLの読み出し権限5つを拒否しておけば良いようだ。念のため、この権限は継承なしで当該フォルダだけに限定(limit_inherit)。拒否設定はServer.appで設定できないのでターミナルを使う。まずUsersへ移動。そして以下のように。

mini:Users admin$ chmod +a "alice deny list,search,readattr,readextattr,readsecurity,limit_inherit" .

ACLの状況を確認。

mini:Users admin$ ls -ale
total **
drwxr-xr-x+  5 admin       staff   170  5 20 23:11 .
 0: user:alice deny list,search,readattr,readextattr,readsecurity,limit_inherit
 1: user:_spotlight inherited allow list,search,file_inherit,directory_inherit
(略)

もちろんaliceを除いたグループを作って、Usersにそのグループの所有を指定しても良い。しかし、そんなグループを作るよりも、特定ユーザに対して拒否する方が管理上分かりやすい。