Solaris のシステム管理 (セキュリティサービス)

ファイルアクセスの制御

Solaris オペレーティング環境はマルチユーザー環境です。マルチユーザー環境では、マシンにログインしているすべてのユーザーが、ほかのユーザーに属しているファイルを読み取ることができます。さらに、適切なアクセス権をもっているユーザーは、ほかのユーザーに属しているファイルを使用できます。表 15–3 は、ファイルシステムセキュリティのコマンドの一覧です。ファイルのセキュリティの作業手順については 第 16 章「ファイルのセキュリティの適用 (手順)」 を参照してください。

ファイルシステムセキュリティのコマンド

次の表は、ファイルとディレクトリの監視およびセキュリティに関するコマンドの一覧です。

表 15–3 ファイルシステムセキュリティのコマンド

コマンド 

説明 

マニュアルページ 

ls

ディレクトリ内のファイルとファイル情報を表示する 

ls(1)

chown

ファイルの所有権を変更する 

chown(1)

chgrp

ファイルのグループ所有権を変更する 

chgrp(1)

chmod

ファイルのアクセス権を変更する。記号モード (文字と記号) または絶対モード (8 進数) を使用して、ファイルのアクセス権を変更できる 

chmod(1)

ファイルの暗号化

ほかのユーザーがアクセスできないようにすることによって、ファイルを安全に保つことができます。たとえば、アクセス権 600 の付いたファイルに、所有者やスーパーユーザー以外の人がアクセスすることはできません。アクセス権 700 の付いたディレクトリも同様です。ただし、ほかのだれかがユーザーパスワードや root パスワードを推測して発見すると、そのファイルにアクセスできます。さらに、アクセス不能なはずのファイルも、マシンファイルのバックアップをテープにとるたびに、バックアップテープ上に保存されます。

米国では、Solaris ソフトウェアのすべてのユーザーは、もう 1 つのセキュリティ層として暗号化キットを使用できます。この暗号化キットには crypt コマンドが組み込まれており、テキストを変換してデータを暗号化します。詳細は、crypt(1) のマニュアルページを参照してください。

アクセス制御リスト (ACL)

ACL (「アクル」と読む) では、ファイルアクセス権の制御をより強化できます。ACL は、Solaris オペレーティング環境の従来の UNIX ファイル保護機能では不十分な場合に追加で使用します。従来の UNIX ファイル保護機能は、所有者、グループ、その他のユーザーという 3 つのユーザークラスに読み取り権、書き込み権、実行権を提供します。 ACL では、ファイルセキュリティを管理するレベルがさらに詳細になります。ACL では、次のファイルアクセス権を定義できます。

ACL を設定する手順については、アクセス制御リスト (ACL) の使用を参照してください。

次の表に、ファイルやディレクトリに対して ACL を管理するコマンドを示します。

表 15–4 アクセス制御リスト (ACL) コマンド

コマンド 

説明 

マニュアルページ 

setfacl

ACL エントリの設定、追加、変更、および削除を行う 

setfacl(1)

getfacl

ACL エントリを表示する 

getfacl(1)

マシン間でのファイルの共有

ネットワークファイルサーバーは、どのファイルを共有できるかを制御できます。また、共有ファイルにアクセスできるクライアント、およびそれらのクライアントに許可するアクセス権の種類も制御します。一般に、ファイルサーバーは、すべてのクライアントまたは特定のクライアントに、読み取り権と書き込み権、または読み取り専用アクセス権を与えることができます。アクセス制御は、share コマンドで資源を利用可能にするときに指定します。

ファイルサーバー上の /etc/dfs/dfstab ファイルは、サーバーがネットワーク上のクライアントに提供するファイルシステムを、一覧表示します。ファイルシステムの共有の詳細については、『Solaris のシステム管理 (資源管理とネットワークサービス)』の「ファイルシステムの自動共有」を参照してください。

共有ファイルへの root アクセスの制限

一般的にスーパーユーザーは、ネットワーク上で共有されるファイルシステムには root としてアクセスできません。NFS システムは、要求者のユーザーをユーザー ID 60001 を持つユーザー nobody に変更することによって、マウントされているファイルシステムへの root アクセスを防止します。ユーザー nobody のアクセス権は、公共ユーザーに与えられているアクセス権と同じです。つまり、ユーザー nobody のアクセス権は資格をもたないユーザーのものと同じです。たとえば、ファイルの実行権しか公共に許可していなければ、ユーザー nobody はそのファイルを実行することしかできません。

NFS サーバーは、共有ファイルシステムのスーパーユーザー特権をホスト単位で与えることができます。この特権を与えるには、share コマンドの root=hostname オプションを使用します。このオプションは慎重に使用してください。