Linuxコマンド | ファイル管理 | chmod ファイル/ディレクトリ権限変更
Linux/UNIXの権限
Linux/UNIXの権限は10文字で表されます。
たとえば、ls -lrtコマンドでディレクトリやファイルを確認すると、次のように表示されます。
% ls -lrt
total 8
-rwxrw-r-- 1 kimkc staff 37 5 13 08:40 README
drwxr-xr-x 8 kimkc staff 256 5 13 08:40 java--tutorial
10文字の意味を理解するには、「1文字 / 3文字 / 3文字 / 3文字」に分けて見るとわかりやすくなります。
- ディレクトリまたはファイルの種別(1文字)
- 所有者の権限(2-4文字目)
- グループの権限(5-7文字目)
- その他の権限(8-10文字目)
確認すべき権限部分は、先頭のdrwxのような部分です。
r: 読み取り権限w: 書き込み権限x: 実行権限
もう一度例を見て確認します。
- 1文字目の
dはディレクトリ、-はファイルを意味します。つまり例では、1つはディレクトリで、1つはファイルです。 - 次の3文字(所有者の権限)
rwxは、所有者に読み取り、書き込み、実行の権限があることを意味します。 - 次の3文字(グループの権限)
rw-は、グループに読み取りと書き込みの権限だけがあることを意味します。 - 最後の3文字(その他の権限)
--rは、その他のユーザーに読み取り権限だけがあることを意味します。
chmodコマンド
chmodコマンドは、ファイルの権限を変更します。chmodは「change mode」の略です。
r/w/x権限をそれぞれ数値で表すと、4/2/1です。各部分の権限は単純な足し算で指定します。
7/7/7は、所有者の権限 / グループの権限 / その他の権限を意味します。数値の7は4+2+1です。
たとえば、chmod 777 READMEを実行すると、READMEファイルの権限は-rwxrwxrwx(777)に変更されます。
構文
chmod [オプション (例: 744)] [変更するファイルの場所/名前]
- 権限は数値で表され、読み取り(
4)、書き込み(2)、実行(1)に分かれます。 - 読み取りと書き込み =
4+2=6、読み取りと実行 =4+1=5、書き込みと実行 =2+1=3、読み取り、書き込み、実行 =4+2+1=7です。 - 権限は3つの領域で設定され、自分 / 自分が属するグループ / その他のグループに分かれます。
- 自分は読み取り、所属グループは書き込み、その他のグループは実行の場合は
421です。