chmod

ファイルやディレクトリへのアクセス権限(パーミッション)を変更します。


パーミッションは次のように「ls -l」コマンドで確認できます。

$ ls -l [Enter]
-rw-r--r-- 1 sampleuser01 sampleuser01     65 10月 4日 00:51 SampleText01.txt
-rw-r--r-- 1 sampleuser01 sampleuser01     55 10月 4日 00:52 SampleText02.txt
-rw-rw-rw- 1 sampleuser01 sampleuser01    397  9月23日 00:50 SampleText03.txt
        

※表示結果で左端の2桁目から10桁目までの9文字がパーミッションを表しています。


書式および記号の意味は次のとおりです。


■書式

所有ユーザ(3桁) 所有グループ(3桁) その他ユーザ(3桁)

■記号

記号 意味
- 権限なし
r 読み取り権限
w 書き込み権限
x 実行権限

書式

chmod 権限情報 ファイル名

※権限を指定する権限情報とは次のような2種類の値です。

記号による指定

次の記号の組み合わせにより権限を指定します。


ユーザ
記号 意味
u 所属ユーザ
g 所属グループ
o その他のユーザ
a すべてのユーザ
演算子
記号 意味
+ 既存に権限を追加します。
- 既存に権限を削除します。
= 新規に権限を指定します。
パーミッション
記号 意味
r 読み取り権限
w 書き込み権限
x 実行権限

例えば、既存の権限にすべてのユーザに読み取り権限を与えるには次のようになります。

chmod o+r ファイル名

数値による指定

パーミッションの表記で、権限がある場合(rwx)は「1」、権限がない場合(-)は「0」と置き換え、このとき表される2進数の値を、「所属ユーザ」・「所属グループ」・「その他のユーザ」の3桁ごとに8進数の値にして指定することができます。


例えば、すべてのユーザですべての権限がある場合は次のようになります。

所属ユーザ 所属グループ その他のユーザ
記号 r w x r w x r w x
2進数 1 1 1 1 1 1 1 1 1
8進数 7 7 7

chmod 777 ファイル名

▲PageTop

オプション

オプション名 説明
-c, --changes コマンド実行によって指定されたファイル・ディレクトリに変更があった場合、変更があったファイル・ディレクトリそれぞれの処理内容を表示します。
-f, --silent, --quiet 権限の変更が無理でも、メッセージは表示しません。
-v, --verbose 指定された全てのファイル・ディレクトリの処理内容を表示します。(変更が無かった場合は、処理内容に「保留されました」と表示されます。)
-R, --recursive 指定したディレクトリ以下の全てのファイルやサブディレクトリの権限を変更します。
--reference=参照ファイル名 権限情報が参照ファイル名で指定されたファイルと同じになるように処理します。
--help 使用方法を表示します。
--version バージョン情報を表示します。
-- オプションの記述の終了を宣言します。これ以降に-で始まる文字列があっても、オプションとして解釈されません。このオプションを使用することにより「-SampleDir01」等の「-」で始まるファイルの権限情報を変更できます。

▲PageTop

実行例

指定したファイル(「SampleText01.txt.gz」が存在するものとします。)を全てのユーザから読み込みと書き込みが行えるようにアクセス権限を変更します。

  1. ファイル(SampleText01.txt.gz)を全てのユーザから書き込みが行えるようにアクセス権限を変更します。
  2. ファイル(SampleText01.txt.gz)の情報を表示します。

実行結果

$ chmod -c 666 SampleText01.txt.gz [Enter]
`SampleText01.txt.gz' のモードを 0666 (rw-rw-rw-) に変更しました
$ ls -l SampleText01.txt.gz [Enter]
-rw-rw-rw- 1 sampleuser01 sampleuser01 84  5月 8日 16:56 SampleText01.txt.gz
        

▲PageTop