もう迷わない!Linuxパーミッション(chmod)の正しい設定手順と権限一覧
Linuxサーバー(Ubuntu, CentOS, Amazon Linuxなど)を触り始めたばかりの方が、一番最初にぶつかる壁が**「パーミッション(権限)」**の壁です。
「WordPressをインストールしたのに画像がアップロードできない」「ブラウザからアクセスすると 403 Forbidden になってしまう」「SSHの鍵でログインしようとしたら bad permissions と怒られた」……これらはすべて、パーミッション設定が間違っていることが原因です。
そしてここでやってはいけないのが、**「よく分からないから、とりあえず chmod 777 (全員にフル権限)にして動かそう」**という対応です。これはサーバーのドアを全開にして泥棒を招き入れるようなもので、重大なセキュリティ事故(マルウェア感染、サイト改ざん等)に直結します。
この記事では、Linuxパーミッションの正しい仕組みと、安全な設定方法(chmodコマンドの使い方)を初心者向けに徹底解説します。
1. Linuxのパーミッションとは?(3つの対象×3つの権限)
Linuxでは、システム上のすべてのファイルとディレクトリ(フォルダ)に対して、「誰が」「何ができるか」というルールが設定されています。
ターミナル(黒い画面)で ls -l というコマンドを打つと、左端に -rw-r--r-- といった暗号のような文字列が出てきます。これが現在のパーミッションです。これを解読していきましょう。
「誰に」対する権限か?(3種類の対象者)
左端の1文字(ファイルなら-、ディレクトリならd)を除いた残り9文字は、3文字ずつ3つのグループに分けられます。
-
左から3文字: 所有者 (User/Owner) - そのファイルを作成した人。
-
真ん中3文字: グループ (Group) - チームメンバーなど、特定のユーザー集団。
-
右の3文字: その他 (Other/World) - 上記に該当しない、全ユーザー(インターネット越しの訪問者など)。
「何を」してよい権限か?(3種類の操作)
それぞれのグループに対して、以下の3つの操作権限を割り当てます。
-
r (Read / 読み取り): ファイルの中身を見る、ディレクトリ内のファイル一覧を見る。
-
w (Write / 書き込み): ファイルを編集・保存する、ディレクトリの中に新しいファイルを作る・消す。
-
x (Execute / 実行): プログラムやシェルスクリプトを動かす、対象のディレクトリの中に入る(cdする)。
※権限がない場合は -(ハイフン)が表示されます。
2. 権限を「数字」で表す方法(8進数)
毎回「このファイルは、所有者はrwxで、グループはrxで…」と文字で書くのは面倒です。そこで、Linuxではこれらを**数字(8進数)の足し算**で表現します。
読み取り (r) = 4
書き込み (w) = 2
実行 (x) = 1
この数字を、所有者・グループ・その他ごとに足し合わせた「3桁の数字」がパーミッションの値となります。
よく使う設定例と、計算の仕組み
-
777 (危険!)
[4+2+1] [4+2+1] [4+2+1] = すべての人が読み・書き・実行可能。絶対に見知らぬ人に触らせたくないファイルには設定しないでください。 -
755 (ディレクトリの標準)
[4+2+1] [4+1] [4+1] = 所有者はすべて可能。他人はWebページを見たり(r)、ディレクトリに入ったり(x)はできるが、改ざん(w)はできない設定。 -
644 (ファイルの標準)
[4+2] [4] [4] = 所有者は編集・閲覧可能。他人は閲覧のみ。HTMLファイルや画像ファイルに最適。 -
600 (秘密鍵など)
[4+2] [0] [0] = 所有者しか読み書きできない。SSHのid_rsaなど、絶対に他人に覗かれてはならないファイルに必須。
3. chmodコマンドで権限を変更する
権限を変更するには chmod (change mode) コマンドを使います。
# ファイルに644を設定する
chmod 644 index.html
# ディレクトリとその中身すべてに755を設定する (-Rオプション)
chmod -R 755 /var/www/html/wp-content
4. 【必見】もう数字の計算で悩まない!無料計算ツールの紹介
ここまで仕組みを解説しましたが、現場で作業していると「ん? 所有者とグループに書き込み権限を与えつつ、その他は読み取りだけにしたいから…6足す2で…」と混乱することがあります。間違ったコマンドを打ってしまえばシステムが停止する恐れもあります。
そんな悩みを一発で解決するのが、ブラウザ上で動く**「パーミッション(chmod)計算機」**です。
このツールのメリット
-
**直感的なチェックボックス**: 画面上の「読み」「書き」「実行」のチェックをポチポチON/OFFするだけで、自動的に「755」などの数字がリアルタイムで生成されます。
-
**コマンド一発コピー**:
chmod 755といったコマンド文字列がそのまま出力されるので、あとはターミナルに貼り付けるだけ。 -
**意味の解説付き**: その設定が「どのような権限になるか」を文章で表示してくれるため、初心者でも「やってはいけない設定」に気付きやすくなります。
まとめ:パーミッションは「最小権限の原則」で!
Linuxサーバーのセキュリティの大原則は**「最小権限の原則(Principle of Least Privilege)」**です。動かないからといって過剰な権限を与えるのではなく、「そのプログラムが動くために必要な最低限の権限」だけを付与してください。
計算に迷った時は chmod計算ツール を活用して、安全で確実なシステム運用を心がけましょう!