suidビットがディレクトリに影響せず、スティッキービットがファイルに影響しない場合、なぜそれらが1ビットに結合されないのですか?


18

これはファイルごとに1ビット節約しますか、それともとにかく使用しなければならない必要なパディングがありますか?そして、パディングがあったとしても、それらを組み合わせて新しい機能のために余分なビットを利用してみませんか?


3
スティッキービットは通常のファイルに対して何かをします。使用方法の数については、en.wikipedia.org / wiki / Sticky_bitを参照してください。
ジョシュア

@Joshuaそれは興味深いことであり、非Linux * nixで動作が異なることは良い点です。しかし、この質問にはLinuxを念頭に置いていました。しかし、BSD amdとlsを備えたLinuxカーネルの誰かがまだスティッキーファイルビットに依存できるのだろうか?そして、私はさまざまなユーザーランドプログラムがそれをチェック/実行できると思います。
ハリー

回答:


26

歴史的な理由から。スティッキービットはもともと完全に異なる目的で使用されていました。実行可能ファイルに設定されている場合、オペレーティングシステムにテキストセグメントをスワップに保持するように指示しました。したがって、名前は「スティッキービット」です。


ありがとう、しかし、それは彼らがまだ内部的に「1ビット」であることを妨げますか?または、ファイルごとのレベルで1ビットの節約だけでは十分ではありませんか?
ハリー

6
実行可能ファイルには、suidとstickyの4つの組み合わせすべてを含めることができます。
ヨハンMyréen17年

はい、それゆえ元の質問です。言い方を変えれば、スティッキービットの名前(または過去の使用法)が、今日のsuidビットとの組み合わせに関係しているのはなぜですか?両方のビットの機能を1つの「sticky / suid」ビットに結合できませんでした。このビットは、ファイルに設定するとsuidとして機能しますが、ディレクトリに設定するとstickyとして機能しますか?
ハリー

17
ビットをシフトすると、後方互換性が失われます。chmod 4755 filesuidビットをchmod 1755 dir設定し、スティッキービットを設定します。ファイルごとに1ビットを保存するためだけに、古いスクリプトを壊したくありませんか?もちろん、外部インターフェイスが同じである限り、ファイルシステムは内部的に最適化を自由に実装できます。
ヨハンMyréen17年

6
@JohanMyréen:もちろん、そのビットを実際に保存するのではなく、バイト/ワード許可フィールドの未使用ビットになります。
jamesqf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.