日本語

開発者ツール · Chmod 計算機

一般的な chmod モードの説明: 644、755、600、700、2775、1777

· 背景

chmod unix アクセス制御

プリセット モードを個別の Unix パーミッション ビット図として表示
オリジナル ToolAcre ベクトル イラスト

いくつかのモードで、設定するほぼすべてのファイルがカバーされます。この投稿では、それぞれの rwx の意味、その背後にある規則、およびそれが正しい選択である状況について説明します。

どこでも同じ 6 つの数字 — チュートリアルでは、選択についてまったく説明せずに 644 または 755 と言っています

おなじみの chmod 番号は、そのビットが表示されると便利です。プリセット リストには、644、600、755、700、775、1777、4755、2775 が含まれており、それぞれに短いラベルが付いています。 1 つを選択すると、標準レンダラーが起動し、1 つの検査可能な値からシンボリック出力、権限マトリックス、4 桁の概要、説明、およびコマンド プレビューが更新されます。

プリセットはポリシーによる決定ではありません。このページは、ターゲットの所有権もプロセス グループも、ACL エントリも、親ディレクトリへのアクセスも、ファイル システムの動作も知りません。記事 501 は、アイデンティティと失敗したアクションから始めるという、より適切な規律を提供します。プリセットは再現可能な開始値を提供しますが、そのモードが適切かどうかは実際のオブジェクトと環境によって決まります。

644 および 755: デフォルト — データの場合は rw-r--r--、ディレクトリとプログラムの場合は rwxr-xr-x、および umask 022 がこれらを正確に生成する理由

出荷されたリストには、一般的なデフォルトとしてではなく、通常のファイルには 644 が、プログラムまたはディレクトリには 755 が表示されます。モード 644 は rw-r--r-- です。所有者は読み取りと書き込みを行いますが、グループと他のユーザーは読み取りを行います。モード 755 は rwxr-xr-x です。所有者は rwx を持ち、グループとその他の受信者は読み取りと実行を受け取ります。どちらも 4-2-1 の演算に従います。

ターゲット タイプは、数値が完全な操作上の意味を持たない理由を説明します。ファイルの場合、実行とはプログラムを実行することを意味します。ディレクトリでは、名前付きエントリに入り、そこに到達することを意味します。文が変わる間、モードは 755 のままです。提供されるソースは、umask を計算したり、新しく作成されたモードを予測したりしないため、これらの値は、避けられないデフォルトではなく、出荷されたプリセットとして記述されたままにする必要があります。

644 および 755 は出荷時のプリセットであり、汎用のデフォルトではありません

リストでは、600 がプライベート ファイル、700 がプライベート ディレクトリとラベル付けされています。モード 600 は rw------ をレンダリングし、所有者のみに読み取りと書き込みを許可します。その例は SSH 秘密キーです。モード 700 は rwx------ をレンダリングし、所有者にのみすべての通常のアクセス許可を付与します。ディレクトリ上では、グループやその他のビットが存在しないと、それらのクラスのリストや入力が妨げられます。

プライベートは、検証済みのセキュリティではなく、所有者のみのビットを表します。計算機は、所有権、親ディレクトリ、ACL、マウント ルール、必須ポリシー、またはアプリケーション要件を決してチェックしません。マトリックスでグループと他のボックスがクリアされていることを確認し、環境を個別に検査します。引用符で囲まれた chmod プレビューはブラウザーのテキストのみであり、表示されたパスに対して実行されません。

600 および 700 は、プリセット リストによってプライベートとラベル付けされています

2 つのプリセットはグループ共有に対応します。モード 775 は rwxrwxr-x をレンダリングし、所有者とグループに rwx を付与し、他は読み取りと実行を受け取ります。モード 2775 は、通常のトリプルを変更せずに setgid を追加します。ディレクトリの場合、新しいファイルはディレクトリのグループを継承すると説明にあります。グループ実行は設定されたままであるため、rwxrwsr-x では setgid が小文字の s として表示されます。

どちらのプリセットも所有者またはグループを選択しません。このページはモードと表示パスを受け入れますが、ID 検索や chown 操作は実行しません。その 775 メモでは、書き込み可能なグループ アクセスと setgid を組み合わせることが推奨されていますが、2775 には setgid ディレクトリというラベルが付けられています。実際のコラボレーションは、グループのメンバーシップと、ターゲット システムによって適用される追加のルールに依存します。

775 および 2775 所有権を選択しないモデル グループ共有

プリセット 1777 は、/tmp パターンで示される、誰でも書き込み可能なスティッキー ディレクトリを表します。その通常の権限は rwxrwxrwx であるため、すべてのクラスはリスト、変更、および入力を行うことができます。先頭の 1 はスティッキーを有効にし、最後の x を t に置き換え、削除制限の説明を追加します。これにより、基本の rwx 許可を変更することなく、1777 と 777 が区別されます。

ディレクトリの説明は意図的に狭いままになっています。 Sticky では、作成は許可されますが、削除や名前変更はファイルの所有者またはルートに制限されます。計算機は ID を識別せず、ディレクトリを検査せず、試行された操作、ACL、またはストレージ ポリシーを監視しません。 1777 は、すべての共有場所に対する自動承認ではなく、デコードするための認識可能なパターンとして扱います。

1777 はスティッキー共有ディレクトリ パターンとして表示されます

モード 4755 は、出荷された setuid-program プリセットです。そのベースは 755 で、先頭の 4 によって setuid が有効になります。所有者実行が存在するため、結果は小文字の s を含む rwsr-xr-x になります。ファイルの説明には、実行には呼び出し元の ID ではなく所有者の ID が使用されると記載されており、ファイルとプリセット ラベルの両方が、このまれな権限変更は検討に値すると警告しています。

表示は、プログラムを判断することなく、疑わしい組み合わせを明らかにすることができます。所有者の実行がクリアされている間に setuid が残っている場合は、4644 のように大文字の S が表示され、実行するものが何もないことが説明に示されます。テストでは両方のフォームとすべてのラウンドトリップを検証します。コードレビュー、所有権チェック、機能分析、実行は行われません。

4755 は setuid プログラムとレビュー理由の警告を公開します

モード 777 は出荷されたプリセットには含まれていませんが、ライブラリは解析できます。 777 ファイルは、どのアカウントでもその内容を変更できる可能性があるため、警告がトリガーされます。 777 ディレクトリは、すべてのクラス rwx を許可し、スティッキーなしで、ユーザーが所有していないエントリの削除を許可します。ソースには、一般的なアクセス許可エラーの解決策として 777 が示されていません。

ACL 共有とその他の権限モデルは別のものです。このコンバータは、1 人の所有者、1 つのグループ、その他全員、および 3 つの特殊ビットを表します。名前付き ACL エントリ、マスク、Windows 構文、プラットフォーム検出、またはファイル システム クエリはありません。正確な rwx 変換により診断を行うことができますが、プラットフォーム固有の証拠により、従来のモード以外で許可されるアクセスを確立する必要があります。

777、ACL 共有と他のプラットフォームは別個の質問のままです

便利なチートシートは、魔法の値ではなく、数値の背後にある証拠です。出荷されたプリセットを選択し、それがアクティブにする所有者、グループ、その他、および特別なボックスを調べます。 9 文字の記号形式と 4 桁の概要を比較してください。これにより、setuid、setgid、および Sticky が公開されますが、説明では、ターゲットの選択によってファイルの実行がディレクトリのトラバーサルと区別されます。

ページがサポートする結論のみを適用します。プリセットは、所有権、ワークロード、ACL、親ディレクトリ、マウント、または脅威に関する知識ではなく、正確なビット パターンと短い目的のラベルを提供します。そのコマンド プレビューは決して実行されません。記事 501 に従って、ID とアクションから始めて、ここでの表現を検証し、次に何かを変更する前に実際のシステムを確認します。