少し前に、IRCでの会話中に、他の誰かが抱えていた問題を解決するためにファイルのユーザーIDを継承するために、誰かがディレクトリにsetuidするように勧められたチャネルの1人のユーザーがいました。当時私は声を上げて「Linuxはsetuidディレクトリをサポートしていない」と言っていました。その後、アドバイスを与える人から、ディレクトリに設定されたsetuidアクセス権を尊重するシステムのペーストビン(http://codepad.org/4In62f13)が表示されました。
ただ説明すると、「Linuxがsetuidディレクトリをサポートしていない」と言ったとき、「chmod u + sディレクトリ」に移動すると、ディレクトリにビットが設定されます。ただし、(私が理解しているように)Linuxは(ディレクトリ上で)このビットを無視します。
私が思うに、そのペーストビンを完全に複製することはできません。誰かがselinuxで動作をエミュレートすることが可能かもしれないと私に一度提案しました-そしてルールをいじって、ファイルにuidを強制することは可能ですが、(私が見ることができる)setuidディレクトリ許可からではありません。インターネット上で読むことはかなり有益ではありません-ほとんどの場所は「いいえ、ディレクトリのsetuidはlinuxでは機能しません」と時折「特定の状況下で行うことができます」と主張します(http://arstechnica.com/など)。 etc / linux / 2003 / linux.ars-12032003.html)
元の人物が誰だったかは覚えていませんが、元のシステムはdebian 6システムで、実行していたファイルシステムは「default、acl」でマウントされたxfsでした。私はそれを複製しようとしましたが、今のところ運がありません(これまでにさまざまなバージョンのdebian、ubuntu、fedora、centosで試してみました)
誰かがシステムでディレクトリのsetuidを尊重するようにするにはどうすればよいのか、私に手掛かりを与えることができますか?
grpid|bsdgroups
またはnogrpid|sysvgroups
)があります。つまり、ディレクトリ内のファイルは、所有者のグループではなく、ディレクトリのグループで作成されます。たぶんそれで遊ぶ?