この節では、ファイルのセキュリティの概念と、ファイルのセキュリティを理解するために必要な用語を説明します。
ファイルやディレクトリの所有者 - 通常は、ファイルを作成したユーザーです。ファイルの所有者は、ファイルの読み取り権、書き込み権 (変更する権利)、またはコマンドの場合は実行権を持つユーザーを決定できます。
グループのメンバー
ファイルやグループの所有者以外のユーザー全員
ファイルのアクセス権を割り当てたり変更したりできるのは、スーパーユーザーかそのファイルの所有者だけです。
表 51-1 に、ファイルのアクセス権を示します。
表 51-1 ファイルのアクセス権
記号 |
アクセス権 |
指定されたユーザーが実行できる操作 |
---|---|---|
r |
読み取り |
ファイルを開いて内容を読み取る |
w |
書き込み |
ファイルに書き込んだり (その内容を変更したり)、追加したり、削除したりできる |
x |
実行 |
ファイルを実行するか (プログラムまたはシェルスクリプトの場合)、exec(1) システムコールを使用して実行できる |
- |
拒否 |
ファイルを読み取ったり、書き込んだり、実行したりできない |
これらのファイルアクセス権は、通常のファイルと同様にデバイス、ソケット、名前付きパイプ (FIFO) などの特殊ファイルにも適用できます。
シンボリックリンクには、そのリンクが指すファイルのアクセス権が適用されます。
表 51-2 に、ディレクトリのアクセス権を示します。
表 51-2 ディレクトリのアクセス権
記号 |
アクセス権 |
指定されたユーザーが実行できる操作 |
---|---|---|
r |
読み取り |
ディレクトリ内のファイルを表示できる |
w |
書き込み |
ディレクトリ内のファイルやリンクを追加または削除できる |
x |
実行 |
ディレクトリ内のファイルを開いたり実行したりできる。また、ディレクトリを作成し、その下のディレクトリをカレントディレクトリにすることができる |
ディレクトリへアクセスできないようにすると、そのディレクトリ (およびすべてのサブディレクトリ) 内のファイルを保護できます。ただし、スーパーユーザーはシステム上のすべてのファイルとディレクトリへのアクセス権を持つので注意してください。
ファイルやディレクトリを作成するときには、デフォルトのアクセス権が設定されます。これらのデフォルトのアクセス権は、システムファイル /etc/profile、.cshrc、または .login ファイル内の umask の値によって決定されます。デフォルトでは、システムはテキストファイルのアクセス権を 666 に設定してユーザー、グループ、その他に読み取り権と書き込み権を与え、ディレクトリまたは実行可能ファイルに対しては 777 に設定します。
umask によって割り当てられる値は、デフォルトから差し引かれます。これには、chmod がアクセス権を与えるのと同じ方法で拒否する効果があります。たとえば、コマンド chmod 022 はグループとその他に書き込み権を与えますが、umask 022 はグループとその他の書き込み権を拒否します。
表 51-3 に、典型的な umask の設定とその設定が実行可能ファイルに与える影響を示します。
表 51-3 各種セキュリティレベルの umask 設定
セキュリティレベル |
umask |
使用できないユーザー |
---|---|---|
緩やか (744) |
022 |
グループとその他による w |
中程度 (740) |
027 |
グループによる w、その他による rwx |
中程度 (741) |
026 |
グループによる w、その他による rw |
厳しい (700) |
077 |
グループとその他による rwx |
ファイルには 6 つの形式があります。表 51-4 にファイル形式を示します。
表 51-4 ファイル形式
記号 |
形式 |
---|---|
- |
テキストまたはプログラム |
d |
ディレクトリ |
b |
ブロック型特殊ファイル |
c |
キャラクタ型特殊ファイル |
p |
名前付きパイプ (FIFO) |
l |
シンボリックリンク |