chmod計算機の概要・基礎知識
chmod(change mode)は、Linux/Unix系OSでファイルやディレクトリのアクセス権限(パーミッション)を変更するコマンドです。Webサーバー、SSH秘密鍵、CGIスクリプトなど「ファイルが正しく動く/動かない」の原因の多くはパーミッション設定にあります。本ツールはチェックボックス方式の入力と数値入力(644/755など)の両方向に対応し、記号表記(rwxr-xr-x)・数値表記・実際のchmodコマンド・用途の目安を一画面でまとめて確認できます。Webサーバー初心者からインフラ担当者まで、最も使う頻度の高い基本ツールです。
パーミッションの仕組み
| 記号 | 数値 | 意味 |
|---|---|---|
| r(Read) | 4 | ファイルの内容を読める/ディレクトリ内一覧を取得できる |
| w(Write) | 2 | ファイルを編集・削除できる/ディレクトリ内にファイル作成・削除できる |
| x(Execute) | 1 | スクリプトを実行できる/ディレクトリの中にcdで入れる |
| 合計の意味 | — | 各権限の数値を足し合わせる。例:r+w+x=7(全権限)、r+x=5(読み取り+実行) |
使い方の流れ
- 「チェックボックスで設定」セクションで、所有者(Owner)・グループ(Group)・その他(Others)の3カテゴリそれぞれのr/w/xにチェックを入れます。
- 下部の3桁の数値表示が即座に更新されます(例:所有者7・グループ5・その他5=755)。
- 逆に数値から逆算したい場合は「数値から逆算」セクションに3桁の数値を入力するか、644/755/777などのプリセットボタンをクリックします。
- 結果欄に「数値表記」「記号表記(rwxr-xr-x)」「実際のchmodコマンド」「用途の目安」が表示されます。
- 「コマンドをコピー」を押すと
chmod 755 ファイル名形式でクリップボードに転送され、SSH先のターミナルにそのまま貼り付けられます。
こんな場面で使う
- Webサーバーのトラブル対応:500エラーの原因がCGIファイルのパーミッション不足だった、というのは典型的なケース。755に直すと動作する場合が多くあります。
- SSH鍵のパーミッション設定:
~/.ssh/id_rsaは600以下でないとSSHが鍵を読み込みません。「Permissions are too open」エラーへの対処に使えます。 - WordPressのファイル設定:wp-config.phpは600または640、テーマフォルダは755、ファイルは644が推奨設定です。
- レンタルサーバーのFTP設定:ConoHa/エックスサーバー/さくらインターネットなど、FTPツールでアップロードしたファイルのパーミッションを一括変更する際の参考に使えます。
- Dockerコンテナ内のファイル:マウントしたボリュームのパーミッションが原因でアプリが書き込めない場合の調整に役立ちます。
使う前に知っておきたい注意点
- 777(全員に全権限)はセキュリティリスクが極めて高い設定です。Webサーバーでは攻撃者にファイルを改ざんされる原因となるため、原則として使わないでください。
- 共有サーバーでは、ディレクトリ755・ファイル644が標準的な推奨設定です。書き込みが必要な場合のみ775に変更してください。
- 本ツールは基本パーミッション(rwx)のみ扱います。SUID(4xxx)、SGID(2xxx)、Sticky bit(1xxx)といった特殊権限は対象外です。
- シンボリックリンクのパーミッションを変更したい場合は
chmod -hを使う必要があります(OSにより挙動が異なります)。 - パーミッション変更は所有者またはrootのみ実行できます。FTPユーザーで上がるファイルの所有者を意識した運用が必要です。
用語の補足
- 所有者(Owner):ファイル作成者、または
chownで割り当てられたユーザー。3桁数値の1桁目に対応します。 - グループ(Group):所有グループに属するユーザー全員に適用される権限。3桁数値の2桁目に対応します。
- その他(Others):所有者でも所有グループメンバーでもない、すべてのユーザー。3桁数値の3桁目に対応します。