パーミッション
Permission
OS(特にLinuxなどのUNIX系)において、ファイルやディレクトリ(フォルダ)に対して「誰が(所有者・グループ・その他)」「どのような操作(読み取り・書き込み・実行)をできるか」を厳密に定めたアクセス権限のことです。システムのセキュリティを担保する最も基本的な防御壁となります。
🐾 猫で例えると?
普段は床で誰にでも「ゴロンゴロン」とお腹を見せるオープンなAPI(ユーザーフレンドリーなUI)のような茶トラですが、キャットタワーの上の特等席は話が別です。この領域は猫たちだけの「専用ディレクトリ」として強いパーミッション(権限)が設定されており、人間が簡単に手出し(書き込み)することは許されません。特権階級のように優雅にくつろぐ姿は、自分の所有物に対する完全なアクセス権を誇示しているかのようです。
🐾猫あるある:IT現場の日常
- 特定の人にだけお腹のタッチを許可する: ファイルやディレクトリに対して、特定のユーザーやグループ、その他全員に割り当てられる読み・書き・実行のアクセス権限。
- 立ち入り禁止区域の境界線を突破しようとする: ルート権限のない一般ユーザーが、システム内の保護されたディレクトリや制限されたコマンドへアクセスを試みる挙動。
- お気に入りの高い棚の拠点を特定メンバーで共有: ファイルの所有者や所属グループの識別子を紐付け、関係者以外の不正な閲覧や書き換えを防ぐアクセスセキュリティ。
💻 IT現場における「パーミッション」とは?
サーバー構築やWeb開発の現場において、パーミッションの設定ミスは「重大なセキュリティ事故」や「システムが動かない原因」のトップに君臨します。
例えば、外部の人が見るだけのWebページのファイルに「誰でも書き換え可能(フルアクセス)」というパーミッションを付けてしまうと、あっという間にサイトを改ざんされてしまいます。逆に、システムがログを記録しなければならないディレクトリに「書き込み不可」のパーミッションが設定されていると、エラーを吐いてアプリケーション自体が立ち上がりません。誰に、どこまでの操作を許すかという「適切な境界線」を引くことが、インフラエンジニアの重要な仕事です。
⚠️ パーミッションの仕組みと注意点(恐怖の777)
Linux環境では、パーミッションを「読み取り(r=4)」「書き込み(w=2)」「実行(x=1)」という数字の足し算で表現し、それを「所有者」「グループ」「その他」の3桁で設定します。現場でよく使われる chmod コマンドの代表的な数字を見てみましょう。
現場でよく見るパーミッションの数字設定
設定する対象がHTMLファイルなのか、実行プログラムなのかによって適切な数字は異なります。
# ファイルの権限を変更するLinuxコマンドの例
# 【644】一般的なファイル(画像やHTMLなど)の安全な設定
# 自分は読み書きできる(6=4+2)が、他の人は読むだけ(4)
chmod 644 index.html
# 【755】ディレクトリや実行可能なプログラムの設定
# 自分は何でもできる(7=4+2+1)、他の人は読み取りと実行だけ(5=4+1)
chmod 755 /var/www/html/script.sh
# 【777】絶対に使ってはいけない危険な設定(フルコントロール)
# 世界中の誰でも「読み・書き・実行」ができてしまう
chmod 777 secret_data.txt 初心者がエラーで躓いた時に、とりあえず動かすために「全部許可(777)」にしてしまうことがありますが、これは玄関の鍵を開けっ放しにして「誰でも自由に入って家を改造していいよ」と言っているのと同じで、セキュリティ上絶対にやってはいけない御法度です。
🛠️ パーミッションを賢く管理するためのポイント
システムを安全かつ円滑に運用するための権限管理の基本ルールです。
- 最小権限の原則: システムのユーザーやプロセスには、その作業を行うために「必要最低限の権限」だけを与えます。不必要な書き込み権限や実行権限は絶対に与えてはいけません。
- 所有者(オーナー)の適切な設定: ファイルのパーミッションだけでなく、そのファイルが「誰の所有物か(chownコマンド)」を正しく設定することも重要です。Webサーバー(Nginxなど)が実行するファイルは、Webサーバーのユーザー権限にしておく必要があります。
- 女性特権のような特別対応は慎重に: 特定のユーザー(アメショが好きな女性など)だけに強い権限を与える場合は、グループ設定やsudo権限などを活用し、後から誰が何をしたか監査できる仕組みを整えましょう。
愛嬌たっぷりで誰にでも心を開く茶トラでさえ、自分だけのパーソナルスペース(キャットタワー)のパーミッションはしっかり守っています。システムも同じように、オープンにする場所と厳格に守る場所のパーミッションを正しく使い分け、安全な環境を維持していきましょう。