ソフトウェア

chmod パーミッション設定マニュアル

Unix系OSのファイルパーミッションの基本とchmodコマンドの使い方。数値指定のチートシート。

chmod パーミッション設定マニュアル

パーミッションとは?

Unix系OSでは、ファイルやディレクトリに対するユーザーやグループのアクセスを制御するためにパーミッション(権限)を使用します。正しく設定されていないと、セキュリティリスクにつながります。


パーミッションの基本

ファイルのパーミッション

パーミッション表記意味
読み取り (read)rファイルを読み取る権限
書き込み (write)wファイルにデータを書き込む/削除する権限
実行 (execute)xファイル(プログラムやスクリプト)を実行する権限
権限なし-

ディレクトリのパーミッション

パーミッション表記意味
読み取り (read)rディレクトリ内のファイル名リストを読み取る権限
書き込み (write)wディレクトリ内でのファイルの作成、削除を許可
実行 (execute)xディレクトリ内のファイルやサブディレクトリにアクセスする権限

⚠️ ディレクトリの実行権限がなければ、そのディレクトリに入ることはできません。


ユーザークラス

クラス説明
所有者 (user)ファイルを作成したユーザー
所有グループ (group)ファイルの作成者が属するグループ
その他 (others)その他全員

パーミッションの表示

ls -l

出力例

-rwxr-xr-- 1 user group 12345 Jan 23 12:34 example.txt
項目意味
-rwxr-xr--ファイルパーミッション
1リンクの数
userファイルの所有者
groupファイルの所有グループ
12345ファイルサイズ(バイト)
Jan 23 12:34最終更新日時
example.txtファイル名

パーミッションの見方

-rwxr-xr-- の各文字の意味:

位置意味
1文字目-ファイルの種別(d=ディレクトリ、-=ファイル)
2〜4文字目rwx所有者のパーミッション(読み取り、書き込み、実行)
5〜7文字目r-x所有グループのパーミッション(読み取り、実行)
8〜10文字目r--その他全員のパーミッション(読み取りのみ)

パーミッションの変更(chmod)

chmodコマンドで3桁の数値を指定してパーミッションを設定します。

chmod 644 example.txt

権限の数値

権限数値
読み取り可能4
書き込み可能2
実行可能1

各桁は権限の合計値です。

例:chmod 644

クラス合計計算権限表記
所有者64+2+0読み取り、書き込みrw-
グループ44+0+0読み取りのみr—
その他44+0+0読み取りのみr—

チートシート

基本的なパーミッション数値

数値権限表記
0何の権限もなし---
1実行のみ—x
2書き込みのみ-w-
3書き込みと実行-wx
4読み取りのみr—
5読み取りと実行r-x
6読み取りと書き込みrw-
7読み取り、書き込み、実行rwx

よく使うchmodコマンド

数値所有者グループ他のユーザー用途
700全権限なしなし個人用スクリプト
755全権限読み取り・実行読み取り・実行公開スクリプト/ディレクトリ
644読み書き読み取り読み取り一般的なファイル
600読み書きなしなし秘密鍵、.env
666読み書き読み書き読み書き共有ファイル
400読み取りなしなし読み取り専用

実際の使用例

SSH秘密鍵

chmod 600 ~/.ssh/id_rsa

所有者のみ読み書き可能。秘密鍵の不正利用を防ぐ。

Webサーバーのファイル

# HTMLファイル
chmod 644 index.html

# ディレクトリ
chmod 755 /var/www/html

# 実行スクリプト
chmod 755 script.sh

環境変数ファイル

chmod 600 .env

機密情報を含むファイルは所有者のみアクセス可能に。

共同作業用ディレクトリ

chmod 775 /shared/project

所有者とグループメンバーが読み書き・実行可能。

スクリプトに実行権限を付与

chmod 755 deploy.sh
# または
chmod +x deploy.sh

注意事項

⚠️ パーミッションは正しく設定されていないと、悪意のある第三者にファイルを不正に見られたり書き換えられる可能性があります。

原則:必要最小限の権限をユーザーに与えることで、セキュリティリスクを減らします。