Linuxのchmodコマンドは、ファイルまたはディレクトリのパーミッション(アクセス権)の変更を行うコマンドです。
chmodコマンドの書式
chmodの書式は以下の通りです。
1 |
$ chmod [オプション] パーミッションモード ファイル |
主なオプション
-f | 変更失敗時にエラーメッセージを表示しない |
-R | ディレクトリ内のファイルやディレクトリの所有者も再帰的に変更する |
-v | パーミッション変更の詳細を表示する |
-c | パーミッションが変更された項目のみ、変更の詳細を表示する |
パーミッションを変更する
たとえば、以下のように記述すれば、ファイル「test.png」のパーミッションを「604」に変更できます。
1 |
$ chmod 604 test.png |
ユーザーの権限によっては、sudoコマンドやsuコマンドを使用して実行するユーザーを変更する必要があります。
パーミッションを確認する
パーミッションを確認する場合は、lsコマンドに「-l」オプションを付けて確認します。
1 2 |
$ ls -l test.png -rw----r-- 1 root root 28096 9 7 20:51 test.png |
表示された左端の2文字目〜10文字目(rw----r--)がパーミッションを表しています。詳細な見方は、lsコマンドの説明を参照してください。
パーミッションモードを指定する数字の意味
コマンド実行時に指定した「604」のような数字が表す意味について説明します。
指定する数字の順番が表す意味
パーミッションモードを指定する3桁の数字は、左から順番に「所有者」「所属グループ」「その他のユーザー」のアクセス権を表しています。
たとえば、「604」の場合は「6」が「所有者」、「0」が「所属グループ」、「4」が「その他のユーザー」のアクセス権を表しています。
数字が表す権限
「r=読み込み」「w=書き込み」「x=実行(ディレクトリの場合は内部への移動)」の3つの権限が有効か無効かどうかを「0」〜「7」の数字で表しています。
この数字自体の意味は以下の通りです。
0 | --- | 読み込みも書き込みも実行もできない |
1 | --x | 実行のみができる |
2 | -w- | 書き込みのみができる |
3 | -wx | 書き込みと実行ができる |
4 | r-- | 読み込みのみができる |
5 | r-x | 読み込みと実行ができる |
6 | rw- | 読み込みと書き込みができる |
7 | rwx | 読み込みも書き込みも実行もできる |
つまり、パーミッションを「604」にしたファイルは、所有者は読み込みと書き込みができ、同じグループのユーザーは何もできず、その他のユーザーは読み込むことだけができるということになります。