パーティーに少し遅れましたが、将来の読者がこれに遭遇した場合に備えて;)他の人が述べたように、標準OS-XファイルシステムではディレクトリのsetUIDは無視されます-そしてこれを回避する簡単な方法はないようです(mount -o
....またはそうではない)。よくあることですが、manページは実際にはOS-Xの動作に準拠していません。
4000(実行時のユーザーIDの設定ビット)[...]ユーザーIDのビットが設定されたディレクトリは、それらで作成されたすべてのファイルとサブディレクトリを、ディレクトリ所有者ではなく、所有者に強制します。作成プロセスのuid [...]
しかし、元の所有権を放棄せずに同じ効果を達成する可能性もリストしています。Linuxは同様の効果のために「[g /] setfacls」を使用します(これらは一見実際には見えない許可なので、邪魔になることがあります)。
「同様の効果をどのように実現できますか」については、マニュアルページ全体を読み、以下をいじってください。
chmod +a 'guest allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' ./[DIRECTORY]
経由で確認できます
ls -le
すべてが正常に見える場合。その他のオプションには、特定の位置へのルールの挿入、特定のルールの削除または置換が含まれます。ここで注目すべき2つのオプションは、「」file_inherit
とdirectory_inherit
「ルール」を新しいディレクトリ/ファイルに添付できるようにすることです。
私はsetUIDの使用はあまり好きではありませんが、単に「メイン」グループの設定が機能しないか、クライアントがグループ書き込みを許可しないファイルマスクを持っているファイルサーバーでは、setGIDは非常に便利です。それは以下によって解決されます:
chmod +a 'mygroup allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' /fileserver/groupfolders/mygroup