Skip to content

パーミッションの基礎

Linuxのファイルとディレクトリのパーミッション(権限)について詳しく解説します。

Terminal window
$ ls -l file.txt
-rw-r--r-- 1 user group 1024 Jan 01 10:00 file.txt
# パーミッションの見方:
# -rw-r--r--
# |||||||||
# ||||||||+-- その他ユーザーの読み取り権限
# |||||||+--- その他ユーザーの書き込み権限(-はなし)
# ||||||+---- その他ユーザーの実行権限(-はなし)
# |||||+----- グループの読み取り権限
# ||||+------ グループの書き込み権限(-はなし)
# |||+------- グループの実行権限(-はなし)
# ||+-------- 所有者の読み取り権限
# |+--------- 所有者の書き込み権限
# +---------- ファイルタイプ(-はファイル、dはディレクトリ)

r(read): 読み取り権限

  • ファイル: 内容を読み取れる
  • ディレクトリ: ディレクトリの内容を一覧表示できる

w(write): 書き込み権限

  • ファイル: 内容を変更できる
  • ディレクトリ: ファイルの作成・削除ができる

x(execute): 実行権限

  • ファイル: 実行できる
  • ディレクトリ: ディレクトリにアクセスできる
Terminal window
# パーミッションの数値表現:
# r = 4, w = 2, x = 1
# rwx = 4 + 2 + 1 = 7
# rw- = 4 + 2 = 6
# r-- = 4
# 所有者: rwx (7), グループ: r-- (4), その他: r-- (4)
chmod 744 file.txt
# 所有者: rwx (7), グループ: rwx (7), その他: r-x (5)
chmod 775 file.txt
# 実行権限を追加
chmod +x script.sh
# 実行権限を削除
chmod -x script.sh
Terminal window
# 所有者に実行権限を追加
chmod u+x file.txt
# グループから書き込み権限を削除
chmod g-w file.txt
# その他ユーザーに読み取り権限を追加
chmod o+r file.txt
# すべてのユーザーに実行権限を追加
chmod a+x file.txt
# 所有者: rwx, グループ: r-x, その他: r-x
chmod u=rwx,g=rx,o=rx file.txt
Terminal window
# スクリプトに実行権限を付与
chmod +x script.sh
# 機密ファイルの権限を制限
chmod 600 secret.txt # 所有者のみ読み書き可能
# ディレクトリの権限を設定
chmod 755 directory/ # 所有者: rwx, グループ・その他: r-x
Terminal window
# 所有者を変更
chown user file.txt
# 所有者とグループを変更
chown user:group file.txt
# 再帰的に変更(-R: recursive)
chown -R user:group directory/
Terminal window
# ファイルの所有者を変更
sudo chown www-data:www-data /var/www/html/index.html
# ディレクトリの所有者を再帰的に変更
sudo chown -R www-data:www-data /var/www/html/

パーミッションの基礎のポイント:

  • パーミッションの種類: r(読み取り)、w(書き込み)、x(実行)
  • chmod: パーミッションの変更、数値モードとシンボリックモード
  • chown: 所有者とグループの変更
  • 実践例: スクリプトの実行権限、機密ファイルの保護

適切にパーミッションを管理することで、セキュリティを確保できます。