MiServe DevTools

あなたのステッカー

ツールをここにピン留めできます。このブラウザに保存されます。

chmod 計算機

パーミッションにチェックを入れるか、755 や rwxr-xr-x のようなモードを入力すると、8 進数の値、記号表記、chmod コマンドが得られます。

パーミッションのビット
対象 読み取り r = 4書き込み w = 2実行 x = 1 特殊
所有者 u
グループ g
その他 o

このモードで許可されること

    8 進数モードのコマンド
    記号モードのコマンド

    よく使うモード

    • 所有者はファイルを変更でき、全員が読み取れます。通常のファイルの一般的なモードです。
    • 所有者だけがファイルを読み取り・変更できます。SSH 鍵などの非公開ファイルに使います。
    • 所有者は変更でき、全員が読み取り・実行できます。プログラムやディレクトリの一般的なモードです。
    • 所有者だけが読み取り・変更・実行できます。非公開のディレクトリやスクリプトに使います。
    • 所有者とグループは変更でき、全員が読み取り・実行できます。グループで共有するディレクトリに使います。
    • 所有者とグループはファイルを変更でき、全員が読み取れます。
    • 所有者だけがファイルを読み取れ、どの対象にも書き込み権限はありません。
    • 全員がファイルを作成できますが、スティッキービットにより、ほかのユーザーのファイルは削除できません。/tmp のモードです。

    ブラウザ内で動作します。貼り付けた内容はアップロードされません。

    このツールについて

    モードの構成

    Unix では、すべてのファイルに所有者、グループ、その他のユーザーの 3 組のパーミッションがあります。各組は読み取り(4)、書き込み(2)、実行(1)の 3 ビットで構成され、オンになっているビットの合計が 8 進数の 1 桁になります。755 では、所有者が 4 + 2 + 1 = 7、グループとその他が 4 + 1 = 5 で、ls -l では rwxr-xr-x と表示されます。

    記号表記の欄には、-rw-r--r-- や drwxr-xr-x のような ls -l の 10 文字の文字列もそのまま入力できます。先頭の文字はパーミッションではなくファイルの種類なので、ツールは無視します。

    ディレクトリでのビットの意味

    ディレクトリでは、読み取りで中の名前を一覧でき、実行でディレクトリに入って中のファイルにアクセスできます。書き込みでエントリの作成・削除・名前変更ができますが、実行と組み合わせた場合に限られます。そのため、ディレクトリでは読み取りがある対象には通常実行も付けます。また、ファイルを削除できるかどうかは、ファイル自体のパーミッションではなく、そのファイルを含むディレクトリのパーミッションで決まります。

    setuid、setgid、スティッキービット

    先頭に置く 4 桁目には、setuid(4)、setgid(2)、スティッキー(1)の 3 つの特殊ビットが入ります。ls -l では、これらは実行の位置に s または t として表示されます。大文字の S や T は、特殊ビットが設定されているのに、その位置の実行ビットが設定されていないことを示します。

    このツールが表示する 2 つのコマンドは、チェックしたビットを設定しますが、chmod はファイルにすでにある特殊ビットを必ず外すとは限りません。多くの Linux ディストリビューションで使われる GNU chmod は、モードで明示しない限り、chmod 755 でもディレクトリの setuid・setgid ビットを残します。外すには chmod 00755 と書くか、a-s を加えてください。macOS の chmod は o=rx のような指定ではスティッキービットを残し、chmod -t で外します。スティッキービットを独立した +t として表示しているのは、どちらの実装もその形式を受け付けるためです。

    よくある質問

    chmod 755 はどういう意味ですか?

    所有者は読み取り、書き込み、実行ができ、グループとその他のユーザーは読み取りと実行はできますが書き込みはできません。ほかの人も使うが変更は所有者だけに限るプログラム、スクリプト、ディレクトリの一般的なモードです。

    SSH の秘密鍵にはどのパーミッションを設定すべきですか?

    600 にして、所有者だけがファイルを読み書きできるようにします。OpenSSH は、ほかのユーザーが読み取れる秘密鍵の使用を拒否します。

    chmod 777 を避けるべきなのはなぜですか?

    モード 777 では、システム上のすべてのユーザーがファイルを変更・置換でき、ディレクトリならファイルの追加や削除もできてしまいます。プログラムがパーミッションエラーで失敗する場合は、どのユーザーで動作しているかを調べ、そのユーザーかグループに必要な権限だけを与えてください。

    ls -l の大文字の S や T は何を意味しますか?

    setuid、setgid、スティッキービットのいずれかが設定されているのに、同じ位置の実行ビットが設定されていないことを意味します。小文字の s や t は、両方が設定されていることを示します。

    入力した内容はサーバーに送信されますか?

    いいえ。変換はブラウザのタブ内の JavaScript で行われます。このツールが入力した内容を含むネットワークリクエストを送ることはなく、サイトのセキュリティポリシーにより、ほかのホストへのリクエストはブロックされます。

    ネットワークのほかのツール