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