Solaris のシステム管理

ファイルのセキュリティについて

この節では、ファイルのセキュリティの概念と、ファイルのセキュリティを理解するために必要な用語を説明します。

ユーザークラス

各ファイルには、3 つのユーザークラスがあります。

ファイルのアクセス権を割り当てたり変更したりできるのは、スーパーユーザーかそのファイルの所有者だけです。

ファイルのアクセス権

表 51-1 に、ファイルのアクセス権を示します。

表 51-1 ファイルのアクセス権

記号 

アクセス権 

指定されたユーザーが実行できる操作 

r

読み取り 

ファイルを開いて内容を読み取る 

w

書き込み 

ファイルに書き込んだり (その内容を変更したり)、追加したり、削除したりできる 

x

実行 

ファイルを実行するか (プログラムまたはシェルスクリプトの場合)、exec(1) システムコールを使用して実行できる

-

拒否 

ファイルを読み取ったり、書き込んだり、実行したりできない 

これらのファイルアクセス権は、通常のファイルと同様にデバイス、ソケット、名前付きパイプ (FIFO) などの特殊ファイルにも適用できます。

シンボリックリンクには、そのリンクが指すファイルのアクセス権が適用されます。

ディレクトリのアクセス権

表 51-2 に、ディレクトリのアクセス権を示します。

表 51-2 ディレクトリのアクセス権

記号 

アクセス権 

指定されたユーザーが実行できる操作 

r

読み取り 

ディレクトリ内のファイルを表示できる 

w

書き込み 

ディレクトリ内のファイルやリンクを追加または削除できる 

x

実行 

ディレクトリ内のファイルを開いたり実行したりできる。また、ディレクトリを作成し、その下のディレクトリをカレントディレクトリにすることができる 

ディレクトリへアクセスできないようにすると、そのディレクトリ (およびすべてのサブディレクトリ) 内のファイルを保護できます。ただし、スーパーユーザーはシステム上のすべてのファイルとディレクトリへのアクセス権を持つので注意してください。

デフォルトの umask

ファイルやディレクトリを作成するときには、デフォルトのアクセス権が設定されます。これらのデフォルトのアクセス権は、システムファイル /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

シンボリックリンク