セキュリティ
権限777の罠:ファイルパーミッションの基本
2026年8月17日

レン
ファイルが読めないエラーが出たから、権限を777にしたら直った!

プロクラ
待って、それは一番やってはいけない直し方だよ。777は「誰でも読める・書ける・実行できる」という意味なんだ。

ウィルスン
そのとおり。ワタシがサーバーに小さな足がかりを得たとき、真っ先に探すのが「誰でも書き込めるファイル」だ。そこにワタシのプログラムを書き込めば、キミのサーバーがワタシの命令で動きはじめる。

レン
書き込まれちゃうのか…!
3つの数字の意味

プロクラ
権限は3桁で、順番に「所有者」「グループ」「その他全員」に対する許可を表すよ。数字は読む(4)・書く(2)・実行する(1)を足したもの。
- 7 = 4+2+1 = 読み・書き・実行すべて許可
- 6 = 4+2 = 読み書き
- 5 = 4+1 = 読みと実行
- 4 = 読みのみ
- つまり777は、3種類すべての相手に全部を許している状態
目安
- 通常のファイル: 644(所有者だけが書ける、他は読むだけ)
- ディレクトリ: 755(中を見て通るには実行権限が必要)
- 秘密鍵・設定ファイル: 600(所有者以外は読むことすらできない)
- SSHの鍵は権限が緩いと、そもそも使用を拒否される(それだけ重要ということ)

レン
じゃあ、さっきのエラーはどう直せばよかったの?

プロクラ
権限を広げるのではなく、所有者を正しくするのが本筋だよ。Webサーバーが読めないなら、そのファイルの所有者をWebサーバーの実行ユーザーに合わせる。「誰が触る必要があるか」を考えて、その相手にだけ許すのが正解なんだ。
所有者を直す、が本筋

プロクラ
権限のエラーが出たとき、考える順番はこうだよ。広げるのは最後の手段で、たいていは手前で解決する。
- 1. そのファイルを触る必要があるのは誰か(どのプログラムのユーザーか)を確認する
- 2. 所有者かグループを、そのユーザーに合わせる
- 3. それでも足りなければ、必要な種類の権限だけを足す
- 4. 777にするのは、原因を消さずに蓋をしているだけ
特に気をつけるファイル
- SSHの秘密鍵: 600。緩いと、そもそもSSHが使用を拒否する
- 認証情報を書いた設定ファイル: 600。他のユーザーから読めないように
- アップロードされたファイルの置き場: 実行できる権限を付けない
- ログの置き場: 誰でも書き込める状態にしない(消される・偽の記録を入れられる)

プロクラ
3つめが大事だよ。アップロード先に実行権限が付いていると、送り込まれたファイルがプログラムとして動く可能性が出る。置く場所と権限は、機能の一部として設計しよう。

レン
広げるんじゃなくて、所有者を合わせる。777は蓋をしてるだけ。
あわせて読みたい
- セキュリティ個人情報を預かるということ:立場が変わる、という話他人の情報を保管する側になると何が変わるのか、漏らしたときに起きること、そして設計の段階でリスクそのものを減らす考え方を解説します。
- セキュリティ侵入されたら、復旧より先に保全する乗っ取りが疑われるときに真っ先にやるべきこと、慌てて再構築すると失うもの、記録すべき項目と、他人に被害が及んでいる場合の優先順位を解説します。
- セキュリティそのパスワード、何が守れていないのか:長さ・使い回し・管理ツール複雑さより長さが効く理由、使い回しが一箇所の流出で全部を失わせる仕組み、管理ツールの現実的な使い方と、そもそもパスワードを使わない選択肢を解説します。
- セキュリティ管理画面を守る:2要素認証・コンソール・スナップショットの使いどころサーバー本体だけでなく、管理画面のアカウントも守る必要があります。2要素認証が効く理由と、各社が用意しているコンソール・スナップショットの位置づけを解説します。