Linuxの基礎コマンド-chmod
わかったようでよくわからないコマンド、chmod
linux chmod
✅ frontmatterを追加しました!
chmod(Linuxのコマンド)
#Linux ファイル・フォルダのパーミッションを変更する。いつも忘れる。
$ls -l
total 4
drwxr-xr-x 3 kyakko kyakko 4096 May 22 16:48 linux_programs
-rw-r--r-- 1 kyakko kyakko 0 May 22 17:10 testfile
- 1文字目:ファイル種別 これがファイルなのかフォルダなのかを表す。
| 1文字目 | 意味 |
|---|---|
| - | ファイル |
| d | フォルダ |
| l | リンク |
- 2~4文字目:所有者に対する権限
- 5~7文字目:所有グループに対する権限
- 8~10文字目:その他のグループに対する権限
| 文字 | 意味 |
|---|---|
| - | だめ |
| r | 読取り |
| w | 書込み |
| x | 実行 |
アクセス権限の変更
指定方法は2通りある。
1. 数値で指定する
$ chmod 764 testfile.txt のような感じ。
この数字は3桁で表記され、それぞれ以下の数字の合計値を入力する。
| 数字 | mode | 意味 |
|---|---|---|
| 4 | r | 読取り |
| 2 | w | 書込み |
| 1 | x | 実行 |
| つまり、上の例は |
- 所有者(7):rwx(読取・書込・実行)
- 所有グループ(6):rw-(読取・書込)
- その他グループ(4):r—(読取)
を表してるってこと。
$ chmod 777 testfileなら、すべてに対して実行権限(rwx)を付与している。
2. アルファベットで指定する
$ chmod u+x testfile.txtのような感じ。
これも3文字で表記され、変更対象・変更方法・変更内容を表す。
| 変更対象 | 意味 | 変更方法 | 意味 | 変更内容 | 意味 |
|---|---|---|---|---|---|
| u | ユーザ | = | 指定した権限に変更 | r | 読取り |
| g | グループ | + | 指定した権限を追加 | w | 書込み |
| o | その他 | - | 指定した権限を消去 | x | 実行 |
| a | すべて |
つまり、上の例は
- ユーザに対して
- 次の権限を追加する
- 実行権限
を表している。
この指定方法は複数選択可能なので、
$ chmod go+wx testfile.txtとすることもできる。