en.gはwebサイト制作に関する技術的な情報を発信するサイトです。

【Linuxコマンド】 chmodコマンドでアクセス権限を操作する

ファイルのアクセス権限(ファイルパーミッションといいます)を操作したい場合はchmodコマンドを使用します。chmodコマンドはディレクトリやファイルに対して、アクセス権限のステータスを変更することができます。

chmodコマンドで対象のファイルにアクセス権限を設定する

以下のようにchmod + 数値 + 対象ファイルで設定することができます。


chmod 755 example.txt

							

アクセス権限の種類とコントロールする対象

アクセス権限は、読み出し(read)・書き込み(write)・実行(execute)・権限なし(-)の4つ、そしてこの権限でコントロールできる対象は、所有者(owner) ・所有グループ(group)・その他(other)の3種となります。

アクセス権限の読み方

アクセス権限を表記する場合、大きく分けて2つのパターンがあります。1つは9つのアルファベットで、もう1つは3桁の数字で表記されます。例えば以下は同じアクセス権限として表記されます。


// |
// | アルファベット表記
// |
drwxr-xr-x
// |
// | 数字表記
// |
755

							

アルファベット表記と数字表記の考え方

先ずは先頭の文字とそれ以外で分けます。先頭の文字列はディレクトリ・ファイルのどちらか、上記の場合は「d」なのでディレクトリです。次にそれ以外の9文字ですが、この9文字を3文字づつ3つに分けます。所有者(owner) ・所有グループ(group)・その他(other)に対するアクセス権限です。分けられた3文字はそれぞれ、読み出し(read)・書き込み(write)・実行(execute)の頭文字で表記され、これを数字で表記する場合は8進数で表現されます。

表記 説明 8進数 2進数
- 権限なし 0 000
r(read) 読み出し 1 001
w(write) 書き込み 2 010
x(execute) 実行 4 100

// |
// | 先頭の文字
// | d = ディレクトリ
// | f = ファイル
// |
d
// |
// | 所有者(owner) 
// | 以下の場合はすべて許可されているので
// | 1+2+4=7となる
// |
rwx
// |
// | 所有グループ(group)
// | 以下の場合はr(read)とx(execute)の許可されているので
// | 1+4=5となる
// |
r-x
// |
// | その他(other)
// | 以下の場合はr(read)とx(execute)の許可されているので
// | 1+4=5となる
// |
r-x
// |
// | 上記のことから数字表記は
// | 755となる
// |