パーミッションとは?
ファイルやディレクトリに対する権限のことです。
なぜパーミッションが必要なのか?
Linuxは複数ユーザーがログインして使うことが前提になっているので安易にファイル内容を見られたり編集したりできないよう権限を設定することが可能になっています。
パーミッションの要素
Linuxには全てのファイルが下記の要素を保持しています。「ls -l」コマンドでファイル詳細を出力すれば全項目確認することが可能です。
- ファイルのオーナー
- ファイルのグループ
- パーミッション
ファイルオーナー(所有者)
ファイルの所有者
ファイルオーナーの設定方法
- 新規でファイルを作成した場合は、ファイルの作成者が自動的にそのファイルの所有者になります。
- chownコマンドで設定する。
chownでの設定例
1 |
chown root aaa.txt |
ファイルのグループ
ファイルの所有グループ、ユーザーを特定グループに所属させグループに権限を与えることで複数ユーザーの権限を一括管理することが可能です。これもchownでユーザー名とグループまとめて変更することが可能です。
chownでの設定例
1 |
chown root:root aaa.txt |
上記例では、aaa.txtのグループをroot、ファイルオーナーをrootに変更しています。
パーミッション
モード | モード | 権限 |
---|---|---|
4 | r | ファイルの読み取り |
2 | w | ファイルの書き込み |
1 | x | シェルスクリプトの実行 |
ファイルに対する編集権限のことです。chmodコマンドで変更することができます。
1 |
chmod 664 aaa.txt |
[所有者][グループ][その他]の順に指定します。所有者に6(読み取りと書き込み)、所有グループに6(読み取りと書き込み)、その他に4(読み取り)を設定しています。
つまり、上記例では所有者や所有グループ以外の人は書き込ませないということができます。
chmodは以下のようなアルファベットを使って文字で指定することも可能です。
u | 所有者の権限を指定 |
g | グループの権限を指定 |
o | その他のユーザ権限を指定 |
a | 全てのユーザ権限を指定 |
+ | 権限の付与 |
- | 権限の剥奪 |
= | 権限の直接な指定 |
r | 読み込み |
w | 書き込み |
x | 実行 |
s | SGID/SUID |
t | スティッキービット |
1 |
chmod u=rw,g=rw,o=r aaa.txt |
664であれば上記のような指定になります。
umask
デフォルトのパーミッション設定になります。(「/etc/profile」などで設定されているOSも多いです。)
この記事へのコメントはありません。