Trusted Solaris 開発ガイド

はじめに

Trusted Solaris 開発ガイド』は、プログラミングインタフェースを使用して Trusted Solaris 7TM 用のトラステッド (セキュリティの高い) アプリケーションを作成する方法を説明します。このマニュアルは、読者が UNIX プログラミングに通じ、セキュリティポリシーの概念を理解していることを前提にしています。

関連マニュアル

Trusted Solaris 7 マニュアルセットは、Solaris 7 のマニュアルセットの内容を補足するものです。Trusted Solaris 7 に関する理解をより深めるには、Solaris 7 マニュアルセットもお読みになることをお勧めします。

このマニュアルでは、他社のアプリケーションの実行環境を設定する方法を説明するため、システム管理作業についても述べています。Trusted Solaris 7 には、さまざまな管理役割が存在します。しかし、このマニュアルではシステム管理者の作業を一般的なものとして扱い、特定の管理役割について述べていません。役割ごとのシステム管理作業の内容については、Trusted Solaris 管理者用のマニュアルセットを参照してください。

このマニュアルの構成

第 1 章「API とセキュリティポリシーの紹介」第 2 章「プログラミングインタフェースの概要」では、Trusted Solaris 7 のプログラミングインタフェースの概要、セキュリティポリシーの運用方法、ファイルシステムとプロセスのセキュリティ属性情報の取得方法、Trusted Solaris 7 のセキュリティ機構の使用方法を説明します。セキュリティポリシーとプロセス間通信の概要は、第 11 章「プロセス間通信」で説明します。

第 1 章「API とセキュリティポリシーの紹介」では、Trusted Solaris 7 のアプリケーションプログラミングインタフェースの概要と、システムにおけるセキュリティポリシーの運用方法を扱います。

第 2 章「プログラミングインタフェースの概要」では、ファイルシステムとプロセスオブジェクトの属性情報の取得方法、Trusted Solaris 7 のセキュリティ機構の使用方法を示す短いプログラム例を示します。

第 3 章「特権」では、ファイル特権とプロセス特権の管理に使用するデータ型とプログラミングインタフェースについて説明します。この章では、プログラムでの特権の使用方法、特権を使用するためのガイドライン、およびコード例も示します。

第 4 章「ユーザー承認のチェック」では、ユーザーを承認したり、単一の承認や承認セットの処理を行うためのデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 5 章「ラベル」では、プロセス、ファイルシステム、およびデバイスオブジェクトのラベルの管理に使用するデータ型とプログラミングインタフェースについて説明します。また、この章では、プロセスによる CMW ラベルの取得方法や、どのような時にラベル操作が特権を必要とするかを説明し、ラベル処理のガイドラインについて示します。

第 6 章「ラベルのコード例」では、第 5 章「ラベル」で説明しているプログラミングインタフェースのコード例を示します。

第 7 章「プロセス認可上限」では、プロセス認可上限の管理に使用するデータ型とプログラミングインタフェースについて説明します。また、この章では、プロセスが認可上限を取得する方法と、プロセス認可上限がプロセスに設定する制限を回避する特権について説明し、コード例も示します。

第 8 章「マルチレベルディレクトリ」では、マルチレベルディレクトリとシングルレベルディレクトリの情報を取得するためのデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 9 章「アプリケーション監査」では、自身で作成した (独自の) アプリケーションの監査記録を生成するためのデータ型とプログラミングインタフェースについて説明します。また、この章では、特権について説明し、コード例も示します。

第 10 章「ユーザーとプロファイルのデータベースエントリへのアクセス」では、tsolusertsolprof という 2 つのデータベースからセキュリティ情報を読み取るためのデータ型とプログラミングインタフェースについて説明します。tsoluser データベースにはユーザーと役割の情報が、tsolprof データベースにはプロファイルに関する情報が含まれています。この章では、コード例も示します。

第 11 章「プロセス間通信」では、同一のワークステーション内やネットワークを介したプロセス間通信に対するセキュリティポリシーの適用方法の概要を説明します。

第 12 章「System V のプロセス間通信」では、System V IPCTM オブジェクトのラベルを管理するためのデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 13 章「トラステッドセキュリティ情報交換ライブラリ」では、ネットワーク上で転送されるメッセージのセキュリティ属性情報を処理するためのデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 14 章「遠隔手続き呼び出し」では、遠隔手続き呼び出し (RPC) のためのデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 15 章「トラステッド X ウィンドウシステム」では、管理アプリケーションによるセキュリティ関連の X ウィンドウシステム情報へのアクセスと変更を可能にするデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

第 16 章「ラベルビルダー」では、ラベルと認可上限を構築するためのグラフィカルユーザーインタフェースの作成に使用するデータ型とプログラミングインタフェースについて説明します。この章では、コード例も示します。

付録 A 「プログラマーズリファレンス」 では、マニュアルページ、共有ライブラリ、ヘッダーファイル、データ型とインタフェース名で使用される略語、およびアプリケーションのリリース準備に関連する情報を示します。

付録 B 「Trusted Solaris 7 インタフェースリファレンス」 では、パラメータ宣言や戻り値宣言などのプログラミングインタフェース一覧を示します。

Sun のマニュアルの注文方法

専門書を扱うインターネットの書店 Fatbrain.com から、米国 Sun MicrosystemsTM, Inc. (以降、SunTM とします) のマニュアルをご注文いただけます。

マニュアルのリストと注文方法については、http://www1.fatbrain.com/documentation/sun の Sun Documentation Center をご覧ください。

Sun のオンラインマニュアル

http://docs.sun.com では、Sun が提供しているオンラインマニュアルを参照することができます。マニュアルのタイトルや特定の主題などをキーワードとして、検索をおこなうこともできます。

表記上の規則

このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。

表 P-1 表記上の規則

字体または記号 

意味 

例 

AaBbCc123

コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。 

.login ファイルを編集します。

ls -a を使用してすべてのファイルを表示します。

system%

AaBbCc123

ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。 

system% su

password:

AaBbCc123

変数を示します。実際に使用する特定の名前または値で置き換えます。 

ファイルを削除するには、rm filename と入力します。

『 』 

参照する書名を示します。 

『コードマネージャ・ユーザーズガイド』を参照してください。 

「 」 

参照する章、節、ボタンやメニュー名、強調する単語を示します。 

第 5 章「衝突の回避」を参照してください。 

この操作ができるのは、「スーパーユーザー」だけです。 

¥ 

枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。 

sun% grep `^#define ¥
  XV_VERSION_STRING'

ただし AnswerBook2 では、ユーザーが入力する文字と画面上のコンピュータ出力は区別して表示されません。

コード例は次のように表示されます。

[ ] は省略可能な項目を示します。上記の例は、filename は省略してもよいことを示しています。

| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。

キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。

ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-DControl キーを押したまま D キーを押すことを意味します。

一般規則