Clicky

権限(ファイルパーミッション)の基礎知識(r, w, x)

Article(記事)
Article(記事)Web(ウェブ技術関連)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

ファイルに対する3つの権限(r, w, x)

Linuxなどのオペレーティングシステムでは、ファイルやディレクトリに対して誰が何ができるかを制御する仕組みがあります。これが「権限」です。権限には主に以下の3つの種類があります。

  • r (Read): ファイルの中身を読む権限です。
  • w (Write): ファイルを編集、削除、または新しいファイルを作成する権限です。
  • x (Execute): ファイルをプログラムとして実行する権限です。

権限が設定される3つの対象(所有者、グループ、その他)

権限は、以下の3つの対象(カテゴリ)に対して個別に設定されます。

  • 所有者 (User/Owner): ファイルを作成したユーザーです。通常、最も多くの権限を持ちます。
  • グループ (Group): 特定のグループに所属するユーザーです。グループ単位でのアクセス制御に使用されます。
  • その他 (Others): 所有者でもグループメンバーでもない、すべてのユーザーです。

これら3つの対象と3つの権限(r, w, x)の組み合わせで、アクセス制御が決まります。

権限を表す3桁の数字「755」を解読する

7、5、5それぞれの数字の意味

権限は数字で表されることが多く、「755」のように3桁です。この3桁は、左から順番に「所有者」「グループ」「その他」の権限を表しています。

  • 1桁目: 所有者 の権限
  • 2桁目: グループ の権限
  • 3桁目: その他 の権限

そして、各数字は、r, w, x の権限を合計した値です。

各数字が表す具体的な権限の組み合わせ

それぞれの権限には、以下の数値が割り当てられています。

  • r (読み): 4
  • w (書き): 2
  • x (実行): 1
  • なし (-): 0

例えば、「7」は、4 (r) + 2 (w) + 1 (x) = 7 です。つまり、読み、書き、実行のすべての権限があります。

「5」は、4 (r) + 1 (x) = 5 です。読みと実行の権限があります(書き込みはできません)。

したがって、「755」は以下のようになります。

対象数字権限 (記号)具体的な意味
所有者7rwx読み書き実行すべて可能
グループ5r-x読みと実行が可能(書き込み不可)
その他5r-x読みと実行が可能(書き込み不可)

これは、Webサイトのプログラムファイル(例: WordPressの index.php)で非常に一般的な設定です。

権限の設定がなぜ重要なのか?

セキュリティとデータの保護

権限の最も重要な役割は、セキュリティの確保です。すべてのファイルに「777」(すべてのユーザーがすべての権限を持つ)を設定してしまうと、悪意のある第三者によってファイルを改ざんされたり、個人情報を盗まれたりする危険性があります。適切な権限を設定することで、必要な人(またはプログラム)だけがアクセスできるように制御し、データを保護します。

アプリケーションの正常な動作

多くのアプリケーションは、特定の権限を必要とします。例えば、Webサーバーがファイルを読み込むには「r」権限が必要です。また、プログラムを実行するには「x」権限が必要です。権限が不足していると、アプリケーションがエラーを起こしたり、正しく動作しなかったりします。「Permission Denied」エラーは、その典型的な例です。2026年現在、コンテナ技術(Docker/Kubernetes)でも権限設定は非常に重要です。

権限を変更する方法と具体例

chmodコマンド(数値表記)

LinuxやmacOSのターミナル(コマンドライン)では、chmod(change mode)コマンドを使って権限を変更します。数値で指定する方法が最も一般的です。

chmod [権限の数字] [ファイル名] のように記述します。

(例: index.php の権限を「755」にする)

chmod 755 index.php

chmodコマンド(記号表記)

数字ではなく、u(所有者), g(グループ), o(その他)や +(追加), -(削除), =(設定)の記号を使って変更する方法もあります。

  • chmod u+x file (所有者に実行権限を追加)
  • chmod go-w file (グループとその他から書き込み権限を削除)

具体的な設定例(755、644)

一般的な設定例を紹介します。

権限 (数値)権限 (記号)所有者グループその他主な用途
755rwxr-xr-xrwxr-xr-xWebプログラム、スクリプト(PHPなど)
644rw-r–r–rw-r–r–画像、CSS、HTMLファイル
600rw——-rw-設定ファイル、秘密鍵(自分だけ読み書き)

権限によるエラー(Permission Denied)の解決法

エラーが起きた場所の特定

「Permission Denied」エラーが出た場合、まずはどのファイルやディレクトリでエラーが発生しているかを特定します。エラーログ(例: Apacheの error.log)を確認するのが確実です。ログには、どのプログラムがどのファイルにアクセスしようとして失敗したかが記録されています。

適切な権限の設定

特定したファイルに対して、必要な権限を chmod コマンドで設定します。もし「実行できない」なら「755」を、「書き込めない」なら所有者の書き込み権限(「w」)を確認しましょう。過剰な権限(特にグループやその他への書き込み権限)は避けるのが鉄則です。適切な設定により、セキュリティを維持しつつトラブルを解決できます。


まとめ

  • 権限は「所有者」「グループ」「その他」の3つの対象に対して「読み」「書き」「実行」のアクセスを制御する仕組みです。
  • 「755」という数字は、所有者がすべての権限を持ち、グループとその他が「読み」と「実行」のみを持つことを表します。
  • 適切な権限の設定はセキュリティとアプリケーションの正常動作に不可欠です。エラーが発生した場合は、chmod で適切な権限を設定しましょう。