今回はSolaris(UNIX)を扱ううえで重要な権限(パーミッション)について紹介します。
各ディレクトリやファイルには権限を設定することができ,必要なユーザへ必要な権限を設定することが可能です。
ありがちな「Permission denied」も,本稿を理解できれば見直し観点も分かってくるかと思います。
ぜひとも理解しましょう。
前提知識
パーミッション

ファイルやディレクトリ(以後,「オブジェクト」と表記します)へのアクセス権限のことです。
読取り(read),書込み(write),実行(excute)の3種類あります。
本機能を利用することで,特定のユーザにオブジェクトへ許可する操作を設定することができます。
パーミッションの説明
確認方法
「ls -l」コマンドを実行することで,特定のオブジェクトに対する現在のパーミッションを確認することができます。
1 2 3 |
# ls -l -rwxr-xr-x 1 oracle oinstall 130 Jun 1 12:00 test.log |
# | 項目 | 表示 | 備考 |
1 | オブジェクトタイプ | – | ディレクトリ(d),ファイル(-),シンボリックリンク(l)の3種類 |
2 | パーミッション | rwxr-xr-x | |
3 | ハードリンク数 | 1 | |
4 | 所有オーナー名 | oracle | |
5 | 所有グループ名 | oinstall | |
6 | サイズ | 130 | 単位は「Byte」 |
7 | タイムスタンプ | Jun 1 12:00 | |
8 | オブジェクト名 | test.log |
今回特に重要となるのは,#2「パーミッション」,#4「所有オーナー名」,#5「所有グループ名」です。
見方
ファイルの場合
パーミッションは「rwxr-xr-x」のように9文字で表現します。
3文字で1ブロック構成となっており,それぞれのブロックで「所有オーナー」,「所有グループ」,「その他のユーザ」に対する権限を表しています。
パーミッション記号の意味は以下の通りです。
# | 記号 | 意味 | 数値 | 備考 |
1 | r | 読取許可 | 4 | ファイルの閲覧 |
2 | w | 書込許可 | 2 | ファイルの上書き |
3 | x | 実行許可 | 1 | ファイル(スクリプト等)の実行 |
4 | – | 未許可 | 0 |
パーミッションは3文字で1ブロック構成になっている。
ディレクトリの場合
パーミッションの表現方法は「ファイル」と同様ですが,意味は異なります。
# | 記号 | 意味 | 数値 | 備考 |
1 | r | オブジェクト一覧取得 | 4 | |
2 | w | オブジェクトの作成や削除 | 2 | |
3 | x | カレントディレクトリ設定 | 1 | |
4 | – | 未許可 | 0 |
具体例
パーミッションが「rwxr-xr–」となっている場合,それぞれのユーザで可能な操作は以下の通りです。
# | ユーザ種別 | 読取り(r) | 書込み(w) | 実行(x) | 備考 |
1 | 所有オーナー | 許可 | 許可 | 許可 | |
2 | 所有グループ | 許可 | 未許可 | 許可 | |
3 | その他のユーザ | 許可 | 未許可 | 未許可 |
パーミッションは,ブロックごとに「許可」の「数値」(表2・表3参照)を加算して表現することもあります。

「rwxr-xr–」の場合は「754」だよ!
まとめ
今回はSolaris(UNIX)の権限(パーミッション)について説明しました。
適切な権限を付与することで,オブジェクトの適切な保護にも繋がります。
普段は何となく設定していたとしても,ぜひ理解して適切な権限を付与できるようにしましょう!