2.3 パーミッション

File Permissions

Linuxのパーミッションは、所有者・グループ・その他に対して読み取り・書き込み・実行の権限を設定する。9ビットのモードで表現される。

パーミッションの構造

パーミッション構造

図1: パーミッションの構造と8進数表記

記号 意味 ファイル ディレクトリ
r 読み取り 4 内容を読める 一覧を見られる
w 書き込み 2 内容を変更できる ファイル作成・削除
x 実行 1 実行できる cdで入れる

chmod / chown

# 8進数で設定
chmod 755 script.sh    # rwxr-xr-x
chmod 644 config.txt   # rw-r--r--

# 記号で設定
chmod u+x script.sh    # 所有者に実行権追加
chmod go-w file.txt    # グループ・その他の書込権削除
chmod a+r file.txt     # 全員に読取権追加

# 所有者変更
chown user:group file.txt
chown -R user:group dir/  # 再帰的
よく使うモード 8進数 用途
rwxr-xr-x 755 実行ファイル、ディレクトリ
rw-r--r-- 644 一般的なファイル
rw------- 600 秘密鍵など機密ファイル
rwx------ 700 個人ディレクトリ

特殊パーミッション

ビット 名前 効果
4000 SUID 所有者権限で実行 /usr/bin/passwd
2000 SGID グループ権限で実行 共有ディレクトリ
1000 Sticky 所有者のみ削除可 /tmp
# SUIDの確認
ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root ... /usr/bin/passwd

# /tmpのSticky bit
ls -ld /tmp
drwxrwxrwt ... /tmp
出典
[1] man chmod - change file mode bits.
[2] man chown - change file owner and group.