chmod (change mode) はファイルとディレクトリの読み書きと実行のパーミッション(許可)を変更するLinux/Unixコマンドです。
chmod [opion]... mode[,mode] file
chmod [opion]... octal-mode file
[u|g|o][+|-|=][s|t|r|w|x]
1文字目は対象を表す。
文字 | 説明 |
---|---|
u | 所有者 |
g | グループ |
o | その他 |
2文字目は演算子を表す。
文字 | 説明 |
---|---|
+ | オンにする |
- | オフにする |
= | 指定した権限にする |
3文字目は権限を表す。
文字 | 説明 |
---|---|
s | seduid/setgid |
t | sticky |
r | 読み込み |
w | 書き込み |
x | 実行 |
ファイル所有者の read 権限を追加する。
$ chmod u+r example
ファイル所有者の read 権限を削除する。
$ chmod u-r example
ファイル所有者の write 権限を追加する。
$ chmod u+w example
ファイル所有者の write 権限を削除する。
$ chmod u-w example
ファイル所有者の execute 権限を追加する。
$ chmod u+x example
ファイル所有者の execute 権限を削除する。
$ chmod u-x example
ファイル所有者以外の read 権限を追加する。
$ chmod o+r example
ファイル所有者以外の read 権限を削除する。
$ chmod o-r example
ファイル所有者以外の write 権限を追加する。
$ chmod o+w example
ファイル所有者以外の write 権限を削除する。
$ chmod o-w example
ファイル所有者以外の execute 権限を追加する。
$ chmod o+x example
ファイル所有者以外の execute 権限を削除する。
$ chmod o-x example
アカウント | user | group | other | ||||||
モード | r | w | x | r | w | x | r | w | x |
2進数 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
8進数 | 7 | 5 | 5 |
$ chmod 0755 bin
コマンドに指定できるオプションには、POSIX と GNU の2種類の形式がある。
POSIX の場合、オプションはハイフンで始まり、アルファベット1文字で指定する。
$ chmod -v 0755 bin
GNU 形式の場合、オプションはハイフン2つから始まり、複数のアルファベットで指定する。
$ chmod --verbose 0755 bin
以下に示すオプションを chmod コマンドに指定することができる。
$ chmod +w example