デバイス clean スクリプトは、デバイスが割り当てられるか、割り当て解除されるときに、随時実行されます。通常、割り当て解除は、デバイスを割り当てたユーザーによって行われます。必要に応じて、承認されたユーザーが、デバイス割り当てマネージャの「管理 (Administration)」ダイアログボックスの「解除 (Revoke)」ボタンを使用して、デバイスの割り当てを強制的にします。強制的な割り当て解除の詳細については、「解除 」を参照してください。
サイトでシステムに割り当て可能デバイスを追加する場合、追加デバイス用に新しいスクリプトが必要になることがあります。既存のデバイス clean スクリプトの機能については、次の説明を参照してください。また、「新しいデバイス clean スクリプトを作成する」も参照してください。
テープ装置としては、次の表に示す 3 種類がサポートされています。 デバイス clean スクリプト st_clean は、すべてのテープ装置に使用できます。
表 15-4 使用可能なテープ装置テープ装置のタイプ |
---|
SCSI 1/4 インチテープ |
Xylogics 472 1/2 インチテープ |
Archive 1/4 インチテープ |
st_clean スクリプトは、mt(1) コマンドに -rewoffl オプションを使用して、デバイスのクリーンアップを行います。システムのブート中に実行すると、スクリプトはデバイスがオンラインになっているか、記憶媒体がその中にセットされているかを確認します。さらに必要に応じてプロンプトを表示し、オペレータに記憶媒体を取り出すように指示し、その記憶媒体の物理的なラベルに記述する適切なラベルを表示します。
割り当てが完全に解除されるまで、1/4 インチテープデバイスは割り当てエラー状態になり、1/2 インチテープデバイスはオフラインになります。割り当てエラー状態になった場合、再度ユーザーによる割り当を行えるようにするためには、承認されたユーザーが手作業でデバイスのクリーンアップを行う必要があります。
disk_clean スクリプトは、フロッピーディスクドライブと CD-ROM デバイスの両方に使用されます。システム のブート中に disk_clean スクリプトを実行する場合、デバイス内に媒体が検出されると、取り出されます。ブート時やデバイスの割り当て解除時にスクリプトが実行される場合、eject コマンドが成功すると、ユーザーは媒体に適切なラベルを記入した物理ラベルを貼るように指示されます。eject(1) コマンドが失敗すると、デバイスは割り当てエラー状態になります。
割り当ての一環としてフロッピーまたは CD-ROM からファイルシステムがマウントされる場合、カレントディレクトリをマウント先に設定したファイルマネージャが表示されます。セキュリティ管理者役割は、 手順 1に従って 、ファイルマネージャを自動表示しないようにすることができます。フロッピーディスクからファイルシステムをマウントする場合と、 CD からファイルシステムをマウントする場合では、処理方法が異なります。違いについては、次の節で説明します。
CD-ROM デバイスが割り当てられたとき、ユーザーは CD-ROM をマウントするかどうかという質問を受けます。CD にファイルシステムが入っている場合は、ユーザーは「yes」と答えるべきです。答えが「yes」のときは、ファイルシステムが自動的にマウントされます。割り当てられた CD-ROM デバイスにオーディオ CD が入っている場合、ユーザーは「no」と答えるべきです。答えが「no」の場合、オーディオアクションが rmmount.confで指定されていれば、オーディオアクションが実行されます。デフォルトではオーディオアクションは指定されていません。オーディオ CD をかけるためには、ユーザーはオーディオデバイスと CD-ROM デバイスの両方を割り当てなければなりません。デバイスの割り当て後、ユーザーは必要に応じて手動でオーディオプレイヤーアプリケーションを実行することができます。
たとえば、一般的に使用されている CD プレイヤー workman がインストールされているサイトでは、セキュリティ管理者役割は、rmmount.conf に次のようなアクションを設定し、ローカルの /usr/local/bin にインストールされたworkman を自動的に起動することができます (/pathname/to/workman は workman へのパスを示します)。
action cdrom action_workman.so /usr/local/bin/workman |
フロッピーディスク上のファイルシステムの場合、割り当て時に自動マウントされることはありません。これは、フロッピー上にすでに存在しているファイルシステムの上に、新しいファイルシステムを作成するより要求される可能性があるからです。フロッピーデバイス上のファイルシステムがマウントされない場合に限り、fdformat(1) または newfs(1M) などのプログラムで新しいファイルシステムを作成することができます。このため、フロッピー上の既存のファイルシステムをマウントする前に、disk_clean スクリプトはファイルシステムをマウントするかどうかをユーザーに確認します。
フロッピーディスクがフォーマットされていない場合、disk_clean スクリプトは、フロッピーディスクをフォーマットするかどうかをユーザーに確認します。
フロッピー上のファイルシステムがデバイス割り当ての一環としてマウントされるとファイルマネージャがホップアップします。ここでは、カレントディレクトリはマウント先に設定されています。
オーディオツールデバイスのクリーンアップには、audio_clean プログラムを使用します。
このプログラムは、AUDIO_DRAIN ioctl を実行してデバイスをフラッシュし、その後 AUDIO_SETINFO ioctl をリセットしてデバイス構成をデフォルトに戻します。 さらに、このプログラムは、AUDIOGETREG ioctl でオーディオチップのレジスタを取得し、デフォルトと異なるレジスタが存在しているときは、AUDIOSETREG ioctl でリセットします。 オーディオデバイスには取り外しの可能な媒体が含まれていないため、外部に物理的なラベルを付ける必要はありません。そのため、audio_clean スクリプトは機密ラベルを表示しません。
サイトで割り当て可能にできるデバイスには、たとえばモデム、端末、グラフィックスタブレットがあります。これらのデバイスを割り当て可能にする場合、新しいデバイス clean スクリプトを作成することになります。デバイス clean スクリプトは、テープ装置を追加した場合にも作成します。例外は、Xylogics テープ装置と Archive テープ装置です。これらのテープ装置では、デフォルトの device_clean(1M) スクリプト (/etc/security/lib/st_clean) を使用できるため、新規にスクリプトを作成する必要はありません。
デバイスクリーンスクリプトのデフォルトの場所は /etc/security/lib
デバイスクリーンスクリプトは、正常終了の場合 0 を、エラーが発生した場合 0 より大きい値を返す
強制的な媒体の取り出しができなかったり、取り出しに失敗した場合は、そのデバイスを割り当てエラー状態にする
deallocate コマンドは、デバイスクリーンスクリプトに、次の 4 つのパラメータを渡します。
st_clean -[I|F|S] -[A|D] device_name sensitivity_label |
オプションの -I、-F、-S は、スクリプトの実行モードを決定します。-I は、システムブート時のみ必要になります。これにより、すべての出力がシステムコンソールに送られます。また、-F はクリーンアップを強制し、-S は標準のクリーンアップを行います。これらのパラメータは対話型で、ユーザーがプロンプトに応答することを前提としています。-F オプションを指定すると、クリーンアップの一部が失敗した場合に、スクリプトはクリーンアップを完了させなくてはなりません。
[-[A]-[D]] は、デバイスクリーンスクリプトが allocate または deallocate のどちらから呼び出されたかを示します。
device_name はデバイス名を示す文字列、sensitivity label は 機密ラベルを表す 16 進数です。