ここでは、Linuxのパーミッションについて解説します。
パーミッションの概要
Linuxのパーミッションは、ファイルやディレクトリへのアクセス権限を制御するための機能です。
基本的に、3つの種類のアクセス権限があります。
それぞれが、「所有者」、「グループ」、「その他のユーザー」に対するアクセス権限を設定します。
- 読み取り権限(r):
- ファイル:読み取ることができる
- ディレクトリ:その内容を一覧表示できる
- 書き込み権限(w):
- ファイル:書き込むことができる
- ディレクトリ:その中にファイルを作成、削除、移動できる
- 実行権限(x):
- ファイル:実行できる
- ディレクトリ:その中に移動できる
これらの権限は、数値で表されます。各アクセス権限に、数値を割り当てます。
- 読み取り権限(r): 4
- 書き込み権限(w): 2
- 実行権限(x): 1
これらの数値を組み合わせて、3桁の数字で表します。
最初の桁は「所有者」の権限、次の桁は「グループ」の権限、そして最後の桁は「その他のユーザー」の権限を表します。
たとえば、所有者に読み取りと書き込みの権限を与え、グループに読み取り権限のみ与え、その他のユーザーには何の権限も与えない場合、パーミッションは次のようになります。
600
6 | 0 | 0 |
---|---|---|
所有者 | グループ | その他のユーザー |
4+2=6 | 権限なし | 権限なし |
- 1桁目:「所有者(6)」は読み取り(4)+書き込み(2)の権限を持つ
- 2桁目:「グループ(0)」は何の権限もない
- 3桁目:「その他のユーザー(0)」は何の権限もない
パーミッションは、chmodコマンドを使用して変更できます。例えば、上記の例のパーミッションを変更して、グループに読み取りと実行の権限を与えるには、次のようにします。
chmod 670 file.txt
このパーミッション「670」の解釈は下記のようになります。
6 | 7 | 0 |
---|---|---|
所有者 | グループ | その他のユーザー |
4+2=6 | 4+2+1=7 | 権限なし |
- 1桁目:「所有者」は読み取り(4)+書き込み(2)の権限を持つ
- 2桁目:「グループ」は読み取り(4)+書き込み(2)+実行(1)の権限を持つ
- 3桁目:「その他のユーザー」(0)には何の権限もない