どーも!marusukeです!
この記事では
- chmodでできること
- chmodの使用例
- chmodのオプション
をわかりやすく解説します!
chmodコマンドでできること
chmod [オプション] パーミッション ファイル名
chmodコマンドは、Linuxでファイルやディレクトリのパーミッション(アクセス権限)を変更するコマンドです。
Linuxでは次の3種類のユーザーに対して権限を設定できます。
- 所有者(owner)
- グループ(group)
- その他のユーザー(others)
それぞれに対して次の3つの権限があります。
- 読み取り(read)
- 書き込み(write)
- 実行(execute)
chmodでは主に次の2つの方法で権限を設定します。
- 数値(8進数)で設定する方法
- 記号(r,w,x)で設定する方法
用語解説
パーミッション(Permission)
ファイルやディレクトリに対して「誰が読み取り・書き込み・実行できるか」を制御する仕組みです。Linuxのセキュリティ管理で重要な設定です。
chmodのパーミッション指定方法
数値(8進数)で設定する方法
数値は次の値を組み合わせて設定します。
| 権限 | 数値 |
|---|---|
| 読み取り(r) | 4 |
| 書き込み(w) | 2 |
| 実行(x) | 1 |
例えば
| 権限 | 数値 |
|---|---|
| rwx | 7 |
| rw- | 6 |
| r-x | 5 |
| r– | 4 |
755 の場合は次の意味になります。
| ユーザー | 権限 |
|---|---|
| owner | rwx (7) |
| group | r-x (5) |
| others | r-x (5) |
記号(r,w,x)で設定する方法
ユーザーの指定
| 記号 | 意味 |
|---|---|
| u | owner(所有者) |
| g | group(グループ) |
| o | others(その他) |
| a | 全ユーザー |
権限の指定
| 記号 | 権限 |
|---|---|
| r | 読み取り(4) |
| w | 書き込み(2) |
| x | 実行(1) |
例
chmod u+x file.sh
所有者に実行権限を追加します。
chmodコマンドの使用例
所有者(u)に実行権限(x または 1)を追加する
$ ls -l file1.sh
-rw-r--r-- 1 user user 120 Mar 13 10:00 file1.sh
$ chmod u+x file1.sh
$ ls -l file1.sh
-rwxr--r-- 1 user user 120 Mar 13 10:00 file1.sh
所有者(u)・グループ(g)・その他(o)に実行権限(x または 1)を追加する
$ ls -l script.sh
-rw-r--r-- 1 user user 120 Mar 13 10:00 script.sh
$ chmod a+x script.sh
$ ls -l script.sh
-rwxr-xr-x 1 user user 120 Mar 13 10:00 script.sh
所有者(u)にすべての権限(rwx または 7)、グループ(g)とその他(o)に読み取り(r または 4)と実行(x または 1)を設定する
$ ls -l file1.sh
-rw-r--r-- 1 user user 120 Mar 13 10:00 file1.sh
$ chmod 755 file1.sh
$ ls -l file1.sh
-rwxr-xr-x 1 user user 120 Mar 13 10:00 file1.sh
すべてのユーザー(a)から書き込み権限(w または 2)を削除する
$ ls -l file1.sh
-rwxrwxrwx 1 user user 120 Mar 13 10:00 file1.sh
$ chmod a-w file1.sh
$ ls -l file1.sh
-r-xr-xr-x 1 user user 120 Mar 13 10:00 file1.sh
ディレクトリ内のすべてのファイルの権限を再帰的に変更する
$ ls
dir1
$ chmod -R 755 dir1
chmodコマンドのオプション
| オプション | 説明 |
|---|---|
| -R | ディレクトリ内のファイルを再帰的に変更 |
| -v | 変更内容を表示 |
| -c | 変更された場合のみ表示 |
| –reference | 指定ファイルと同じ権限にする |
以上です!
ここまで読んでいただきありがとうございました!




コメント