今回取り上げるコマンドと簡単な概要
-
chmod: (change mode)
ファイルやディレクトリのアクセス権(パーミッション)を変更する
chmod <パーミッション> <ファイルorディレクトリ>
-
chown: (change owner)
ファイルやディレクトリの所有者を変更する
chown <[所有者]or[所有者:グループ]> <ファイルorディレクトリ>
-
chgrp: (change group)
ファイルやディレクトリのグループを変更する
chgrp <グループ> <ファイルorディレクトリ>
前提知識
今回取り上げるファイル権限系のコマンドは、すべて「ch〇〇〇」というスペルになっています
これはすべて上のカッコ書きで書いたように、change 〇〇〇〇 の略
この意味も覚えておいたほうが何がどれだったかわかりやすい
アクセス権(パーミッション)の種類
chmodによって、ファイルやディレクトリのアクセス権を変更する
と言っても、アクセス権が何かがわからないと話が進みません
アクセス権(パーミッション)の表し方には、3桁の数字で表す方法と、9文字の記号で表す2種類があります
「777」や「rwxrwxrwx」 という風に表されます
ちなみに好きなディレクトリで、lsに-lオプションをつけると以下のファイルやディレクトリのパーミッションの確認ができます
$ ls -l
drwxr-xr-x 2 user_name group 68 8 30 15:53 common
-rw-r--r-- 1 user_name group 0 8 30 15:53 index.js
-rw-r--r-- 1 user_name group 0 8 30 15:53 index.php
パーミッションの書き方
上の例での「drwxr-xr-x」に注目してください
まず最初の文字の「d」、これはディレクトリであることを意味し
ただのファイルであれば、「-」で置き換えられます
そのあとの9文字がパーミッションというアクセス権の詳細です
rwxr-xr-x
この9文字を3文字づつ区切って読んでみると
「rwx」,「r-x」,「r-x」
これらがそれぞれ前から、「所有者の権限」,「グループの権限」,「その他の権限」になります
ちなみに、ls -lでパーミッションの横にそのファイル(ディレクトリ)の所有者とグループが記述されます
以下の場合、user_name と group です
$ ls -l
drwxr-xr-x 2 user_name group 68 8 30 15:53 common
-rw-r--r-- 1 user_name group 0 8 30 15:53 index.js
-rw-r--r-- 1 user_name group 0 8 30 15:53 index.php
それぞれの文字が何を示すかというと、以下のようになっています
- r : (read) 読み込み権限
- w : (write) 書き込み権限
- x : (execute) 実行権限
なので、それぞれを組み合わせて
rwxr-xr-x
ならば、所有者はすべて、グループとその他は読みと実行のみという意味になる
数字での省略記法
記号 | 数字 | 意味 |
---|---|---|
r | 4 | 読み込み権限 |
w | 2 | 書き込み権限 |
x | 1 | 実行権限 |
として3つを合計した数値で表す
よって、755 ならば「rwxr-xr-x」と同じ意味になります
アクセス権の対象
アクセス権の対象も記号で表される
chmodなどで使うので覚えておきたい
記号 | 意味 |
---|---|
u | 所有者(user) |
g | グループ(group) |
o | その他(other) |
a | 上の3つすべて(all) |
この記号もそれぞれカッコ内の略語であるので、それを意識すると覚えやすい
いよいよここからが本題の使い方のお話
chmodの使い方
基本
chmod <パーミッション> <ファイルorディレクトリ>
一番簡単な使い方は、パーミッションの部分に数字での記法で記述する
chmod 755 <ファイルorディレクトリ>
既存のものに付け加える場合は、記号の記法が使いやすい
chmod g+x <ファイルorディレクトリ>
「g+x」とは、g(グループ)に x(実行権限)を +(加える)という意味になる
逆に権限をなくす場合は、「g-x」とすれば良い
ディレクトリごと権限を変更したい場合
chmod -R 755 <ディレクトリ>
のように「-R」のオプションをつけます
chownの使い方
基本
chown <[所有者]or[所有者:グループ]> <ファイルorディレクトリ>
dataフォルダの所有者をsatouに変更する
chown satou data
dataフォルダの所有者をsatouにグループをstaffにする
chown satou:staff data
ディレクトリごと権限を変更したい場合
chmodと同じように、「-R」オプションをつけます
chgrpの使い方
基本
chgrp <グループ> <ファイルorディレクトリ>
dataフォルダのグループをstaffにする
chgrp staff data
ディレクトリごと権限を変更したい場合
chmodと同じように、「-R」オプションをつけます