セキュリティ
権限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サーバーの実行ユーザーに合わせる。「誰が触る必要があるか」を考えて、その相手にだけ許すのが正解なんだ。
所有者を直す、が本筋
権限を緩めて動くようにするのは、鍵を開けっぱなしにして「これで入れる」と言っているのと同じです。動かない原因は多くの場合、必要な利用者がファイルの持ち主になっていないことです。持ち主を正せば、権限を広げずに動きます。777にして解決した、という記事を見かけたら、その先を疑ってください。

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

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

レン
広げるんじゃなくて、所有者を合わせる。777は蓋をしてるだけ。
VPSの料金を比較する
あわせて読みたい
- セキュリティ管理画面を守る:2要素認証・コンソール・スナップショットの使いどころサーバー本体だけでなく、管理画面のアカウントも守る必要があります。2要素認証が効く理由と、各社が用意しているコンソール・スナップショットの位置づけを解説します。
- セキュリティSQLインジェクション:入力欄からデータベースを操られる利用者の入力をそのままデータベースへ渡すと何が起きるのか、パラメータ化クエリが効く理由、効かない場面、そして万一に備えて被害を小さくする設定を解説します。
- セキュリティDockerのポート公開がファイアウォールを迂回するufwで閉じたはずのポートに外から繋がってしまう理由と、確認の方法。公開範囲を限定する書き方と、データベースを外に出さない構成を解説します。
- セキュリティ複数人でサーバーを管理するときの決めごとアカウントを共有せず個別に作る理由、権限の分け方、記録の残し方。人が増えたときに事故を防ぐための最低限の取り決めを解説します。