POSIX ACLとディレクトリに適用される「スティッキー」ビット
質問
POSIX.1e はACLを定義しようとしていました(アクセス制御リスト)POSIXのメカニズム(その他のセキュリティ関連の問題)が、提案は正式なものに変換されませんでした標準。それにもかかわらず、ACL(必ずしもPOSIX.1e ACLではない)は、少なくともオプションでUnixのすべての主要なバリアント( Linux 、 BSD 、 MacOS X (ACL)、 HP-UX 、 AIX (p107ff)、 Solaris )。まだ議論されていない詳細の1つは、ファイルのACLとディレクトリのスティッキービットとの相互作用です。
通常のディレクトリ(問題を混乱させるACLはありません)では、アクセス権を1777(たとえば、/ tmpにあります)に設定できます。
drwxrwxrwt 16 root sys 4819 May 4 12:09 /tmp
スティッキービットは、許可の最後の位置にある「t」で示されます。これは、ユーザーがファイルに書き込みできる場合にのみ、ユーザーがディレクトリからファイルを削除できることを意味します。意味あり;ユーザーがファイルに書き込むことができる場合、ファイルの内容が破壊される可能性があります。
私の質問:
- / tmpディレクトリの一般的な(非ACL)パーミッションが上記のようになっていると仮定します。
- さらに、偏執的なユーザー 'trembler'がファイル
/ tmp / secret
の非ACLパーミッションを600(ユーザー 'trembler'、グループ 'worried')に設定するとします。 - 「trembler」が/ tmp / secretの「rw」アクセスを別のユーザー、「blase」を具体的に引用するACLを介した「blase」に許可するとします。
- ファイル
/ tmp / secret
を「blase」で削除できます
ACLが考慮される場合、答えは「はい」です。 ACLが無視されると、答えは「いいえ」になります。関連するファイルシステムでACLが有効になっていると仮定すると、動作はすべてのUnixバリアントで均一ですか?
解決
関連するファイルシステムでACLが有効になっていると仮定した場合、動作はすべてのUnixバリアントで均一ですか?
ACLはUnixのバリアント間で均一に実装されていないため、動作はUnixのバリアント間で異なる可能性がありますが、そうする必要はありません。すべてのUnicesがACLの同じ(標準の)方法を実装しない限り、すべてのUnixバリアントにわたって均一な動作を保証する方法はありません。