LinuxDrill › パーミッション演習 › 解説
Linuxパーミッション完全解説
公開日: 2026年6月28日
Linuxのパーミッションは「誰が」「何を」できるかを制御する仕組みです。ls -l で表示される rwxrwxrwx の意味を理解し、chmod と chown を自在に使えるようになりましょう。
1. パーミッションの構造
ls -l を実行すると、ファイルの先頭に10文字の文字列が表示されます。
-rwxr-xr-- 1 alice staff 1024 Jun 28 10:00 script.sh
先頭の1文字はファイルの種別(-: 通常ファイル、d: ディレクトリ、l: シンボリックリンク)です。残りの9文字を3文字ずつに分割します。
rwx— 所有者(owner)の権限r-x— グループ(group)の権限r--— その他(others)の権限
各文字の意味は次のとおりです。
r(read): 読み取りw(write): 書き込みx(execute): 実行(ディレクトリに対しては「移動できる」)-: 権限なし
2. 数値表記(オクタル表記)
パーミッションは3ビットで表せるため、0〜7の数値で指定できます。
r= 4w= 2x= 1
組み合わせの例:
rwx= 4+2+1 = 7r-x= 4+0+1 = 5r--= 4+0+0 = 4---= 0+0+0 = 0
3桁の数値で owner/group/others を順に指定します。chmod 754 script.sh は owner=rwx、group=r-x、others=r-- です。
3. chmod — パーミッション変更
数値表記とシンボル表記の2通りがあります。
数値表記
# スクリプトを誰でも実行可能にする chmod 755 script.sh # 所有者だけ読み書き可能 chmod 600 secret.txt
シンボル表記
# 所有者に実行権限を追加 chmod u+x script.sh # グループとその他から書き込み権限を削除 chmod go-w file.txt # 全員に読み取りを追加 chmod a+r document.txt
対象の記号は u(owner)・g(group)・o(others)・a(all)、操作は +(追加)・-(削除)・=(設定)です。
ディレクトリに対して再帰的に適用する場合は -R オプションを使います。
chmod -R 755 /var/www/html
4. chown — 所有者変更
chown はファイルの所有者またはグループを変更します。
# 所有者を bob に変更 chown bob file.txt # 所有者を bob、グループを staff に変更 chown bob:staff file.txt # グループだけ変更 chown :staff file.txt # ディレクトリ以下を再帰的に変更 chown -R www-data:www-data /var/www/html
5. よく使うパーミッション設定の例
755— Webサーバーの公開ディレクトリ・実行スクリプト(所有者だけ書き込み可)644— 設定ファイル・HTMLファイル(所有者だけ書き込み可)600— SSH秘密鍵・パスワードファイル(所有者だけ読み書き可)700— 個人用スクリプト(所有者だけすべて可)777— 全員書き込み可(セキュリティ上、本番環境では避ける)
6. 特殊パーミッション
通常の rwx に加え、特殊なパーミッションが3種類あります。
- SUID(4xxx): 実行時に所有者の権限で動く(例:
/usr/bin/passwd) - SGID(2xxx): ディレクトリに設定すると、作成ファイルがディレクトリのグループを継承
- スティッキービット(1xxx): ディレクトリ内のファイルを所有者以外が削除できなくなる(例:
/tmp)
# /tmp のパーミッション確認例 ls -ld /tmp # drwxrwxrwt — 末尾の t がスティッキービット