開発者ツール · Chmod 計算機
スティッキー ビットの 2 つの機能: スワップ常駐テキストから /tmp まで
· 背景
chmod unix アクセス制御
/tmp's モードの t は、1970 年代の Unix ではまったく異なる意味を持っていました。この投稿では、パフォーマンスのヒントから削除ルールに至るまでの要点をたどって、その現在の動作を説明します。
drwxrwxrwt on /tmp — 最後の文字は r、w、x ではなく、通常の 1 語の説明では何も説明されません
文字列 drwxrwxrwt は、通常の rwx 演算がすべてではない理由を示しています。 Sticky は 1000 ビットで、最後の実行位置にレンダリングされます。 other-execute が存在する場合、文字は小文字の t になります。これがないと、大文字の T が表示されます。したがって、1777 を入力すると rwxrwxrwt が生成されますが、4 桁の要約では先頭の特殊ビットの桁が保持されます。
この表示は、指定されたモードを変換します。ディレクトリは検査しません。このページは、1 つの値を所有者、グループ、その他、特殊ビットに分割し、それらの部分からすべてのビューを再構築します。彼らの合意は、所有権、ACL、またはファイルシステムのポリシーではなく、算術を検証します。生成された chmod コマンドは、誰かが別の場所で実行するまでプレーンテキストのままです。
本来の意味 — 終了後にプログラムのテキスト セグメントをスワップ状態に保持し、低速ディスク上で次の実行をより速く開始できるようにする
通常ファイルの説明には、プログラム テキストがスワップに残るように要求されるとスティッキーと書かれています。これがこれらの情報源によって裏付けられた完全な歴史的主張です。彼らは、主要な Unix マニュアル、日付、名前付きシステム、または採用の尺度について言及していません。慎重に説明すれば、より広範なオペレーティング システムの歴史を発明することなく、以前のファイルの意味と現在のディレクトリの動作を対比することができます。
計算機はビットの表現方法を確立します。 Sticky は 8 進数の 1000 を占有し、シンボリック表記で他の実行位置を共有します。したがって、1777 は、execute が設定されているため t で終了しますが、1644 は、execute が設定されていないため、T で終了します。ビット マスク、パーサー、レンダラ、およびラウンドトリップ テストは、カーネルの動作の年表ではなく、これらの事実をサポートしています。
ソースには以前のファイルのヒントが記載されていますが、主要な歴史の引用は提供されていません
通常のファイルの場合、ツールはスティッキーを最新のカーネルが無視する履歴スワップ ヒントとして説明します。この文言は、すべてのカーネルまたはファイルシステムに関する普遍的な主張になるべきではありません。このリポジトリは、プラットフォームの調査ではなく、計算機の説明を提供します。その防御可能点はより狭く、スティッキーは通常のファイルに対して表示される読み取り、書き込み、または実行の許可を変更しません。
強制が要求されていない場合でも、表現は正確なままです。 other-execute セットの場合、最後の文字は t です。それがなければ、その文字は T です。パーサーはいずれかの形式をスティッキー ビットに復元し、1777、1644、および 7777 までのすべてのモードをテストします。プログラムを起動したり、ファイルシステムをマウントしたり、カーネルに実際の動作を問い合わせたりするものはありません。
通常ファイルの説明では、最新のカーネルはスティッキーを無視すると述べています。普遍的な主張は行われていない
ディレクトリの動作は、実装で直接説明される最新の使用法です。共有ディレクトリでは、sticky により削除と名前変更の制限が追加されます。ユーザーはエントリを作成できますが、削除はエントリの所有者またはルートに制限されます。プリセットは 1777 を /tmp パターンとしてキャプチャしますが、説明では、ディレクトリがスティッキーなしで誰でも書き込み可能である場合に警告します。
表示は、/tmp. モードの検査を主張することなく、その区別を明らかにします。 777 および 1777 は、通常のアクセス許可 rwxrwxrwx を共有します。 1000 を追加すると、最終的なシンボリック x が t に変更され、生成された割り当てに +t が追加されます。それ以外の場合、所有者、グループ、およびその他の許可は変更されません。実際の所有権、ACL、およびファイルシステム ルールは計算の対象外のままです。
ディレクトリのスティッキー動作は、現在実装されている説明です
ディレクトリ文には、限定されたルールが記載されています。スティッキー セットでは、ファイルの所有者またはルートのみがファイルを削除または名前変更できるということです。このツールは、ID の解決、ディレクトリの所有権の検査、または操作の試行を行いません。表示された 1777 は、ユニバーサル rwx ビットとスティッキーを確認しますが、実際の紛争に関係するエントリの所有者を特定することはできません。
追加のポリシーは別途調査する必要があります。計算機は、ACL、機能、マウント オプション、必須コントロール、またはファイル システムの状態を読み取りません。ファイルとディレクトリを切り替えると、モードではなく説明が変わります。名前変更が成功した場合、または予期せず失敗した場合、ページではその理由を説明できません。システム固有の調査のために従来のビットを分離するだけです。
このツールは、ポリシー拡張を検査せずに所有者またはルートの削除制限を記述します。
ディレクトリ モードとして 1777 と 777 を比較します。モード 777 は drwxrwxrwx をレンダリングし、すべてのクラスでリスト、作成、入力、名前変更、削除を行うことができます。このツールは、ユーザーが所有していないエントリを削除する可能性があると警告します。スティッキーを有効にすると、drwxrwxrwt が生成されます。rwx 許可は固定されたままですが、所有者またはルートの削除制限が説明に入ります。
生成された割り当ては、同じ 1 ビットの違いを示します。モード 777 は u=rwx,g=rwx,o=rwx になり、1777 は +t を追加します。 8 進数のプレビューでも先頭の数字が保持されます。どちらのプレビューもパスを開いたり、chmod を実行したりしません。この比較により、1000 のみが変更されたことが証明され、その形式が説明されますが、所有権と強制には依然として外部検査が必要です。
動作例: 電卓での 1777 と 777 の説明を比較します。
Setgid 履歴は、これらのマテリアルではサポートされていません。 The repository can encode setgid as 2000, render s or S in the group-execute position, and explain directory group inheritance. Those implementation details do not document setgid's origins or connect its development to sticky. Arithmetic for one special bit is not historical evidence about another.
Protected-directory policy also lies beyond the source set. The page reads no fs.protected setting, system configuration, ACL, ownership record, or attempted operation.指定されたモードにスティッキーが含まれていることを確認し、その基本許可を表示することはできますが、スティッキーがマシンの唯一の制限であることを証明することはできません。より広範な診断には、その環境からの証拠が必要です。
Setgid 履歴と保護ディレクトリ ポリシーはソース セットの外に残ります
The practical distinction fits in one character.ディレクトリの場合、t は other-execute を使用してスティッキーを記録しますが、T はその実行ビットなしでスティッキーを記録します。 The calculator preserves both forms and keeps 1000 visible in its summary. Its source also mentions a former regular-file hint, but provides too little primary evidence to support a universal historical chronology.
Use the page to settle representation before debating policy. Enter a mode, choose file or directory, and compare octal, symbolic, matrix, summary, and assignments. Agreement confirms a consistent twelve-bit conversion.ターゲット システムがさらなる証拠を提供しない限り、そこで停止します。ツールはユーザーを識別せず、パスを読み取り、コマンドを実行せず、ポリシー拡張を検査しません。