chmodコマンド

ファイルやディレクトリのアクセス権(操作を許可するか、否か)を設定するコマンド。
アクセス権には [ 読み取り可能 ] [ 書き込み可能 ][ 実行可能 ] の3種類があり、所有者、所有グループに属するユーザ、その他のユーザの3種類に対して設定することができる。
一般ユーザーが chmod コマンドを使用する場合、変更できるのは自分が所有者 (owner) のファイルやディレクトリの権限に限られる。
また、自分が所属しているグループの権限変更は可能であるが、そのファイルの所有グループに対する権限変更のみ可能で、所有していないファイルの権限は変更できない。管理者権限で変更を行う場合、どのファイル・ディレクトリの権限でも変更できる。

書式: $ sudo chmod オプション ファイル名またはディレクトリ名

chmod コマンドの主なオプション
オプション 内容
-R 指定したディレクトリ以下にある全ファイルのアクセス権を変更する
対象 説明
u 所有者
g グループ
o その他のユーザ
a 全てのユーザ
操作 説明
+ 権限を追加する
- 権限を削除する
= 権限を指定する
許可の種別 説明
r 読み取り許可(数値表記では4)
w 書き込み許可(数値表記では2)
x 実行許可(数値表記では1)
s SUIDもしくはSGID
t スティッキービット

以下のように全てのユーザに対し読み取り、書き込み、実行許可があるファイルがあるとする。
-rwxrwxrwx 1 test test 0 Mar 26 20:20 sample.txt


次のコマンドで、その他のユーザの書き込み許可と実行許可を削除する。
$ chmod o-wx sample.txt


ls -l コマンドで確認してみると以下のように出力される。
-rwxrwxr-- 1 test test 0 Mar 26 20:20 sample.txt


所有者は rwx、グループは rwx、その他は r のみに変更された。


続いて以下のように数値で操作してみる。
$ chmod 644 sample.txt


ls -l コマンドで確認してみると以下のように出力される。
-rw-r--r-- 1 test test 0 Mar 26 20:20 sample.txt


所有者は rw で 4 と 2 の計 6 、グループは r のみなので 4、その他も r のみなので 4 、となる。
権限を追加したり削除したり練習してみよう。