1 概要
chmodコマンドはファイルやディレクトリの編集権限を変更するときに使用するコマンドである。
2 編集権限
2.1 権限の意味
ファイルやディレクトリは所有者、グループやその他のユーザーに応じて権限を設定することができる。これはファイルを作成したユーザーが第三者(グループやその他のユーザーなど)によって勝手にファイルを書き換えられるのを防ぐためである。
設定できる権限は主に以下の3つである。
- 読み込み権限
- 書き込み権限
- 実行権限
例えば、自分以外のユーザーの権限をファイルの読み込みと実行権限のみ有効にした場合は、ファイルの中身を表示や実行は可能になるが、ファイルの中身を編集することはできない。
2.2 編集権限の確認
ターミナルで
$ ls -l
と打つと次のような結果が表示される。
-rw-r--r-- 1 yourname yourgroup 12M Jan 11 16:18 hogehoge.txt
この表示の前半部分
-rw-r--r--
が編集権限を意味する。ただし、一文字目はファイルとディレクトリの識別子である。
例ではtxtファイルなので
-
となっているが、仮にディレクトリだった場合は
d
と表示される。
残りの9文字は次のように分けられる。
rw- r-- r--
これは、それぞれ所有者、グループ、その他のユーザーの編集権限を意味する。
rやwは設定できる権限の頭文字であり、
- 読み込み権限 → r
- 書き込み権限 → w
- 実行権限 → x
と対応している。仮に、すべてのユーザーが3つの権限を持つ場合、次のようになる。
rwx rwx rwx
2.3 権限の編集方法
権限の編集はchmodコマンドによって行われる。
例
chmod 755 hogehoge.txt
コマンドオプションの数値は各ユーザーの権限設定であり、2進数で記述する。
0 | 000 | --- |
---|---|---|
1 | 001 | —x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r-- |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
755の場合は
rwx r-x r-x
を設定したことになる。