以下の節では、ログイン後に管理的な作業を行う人物の立場からログインの過程を完全に把握できるようにするために『Trusted Solaris ユーザーズガイド』に紹介してあるいくつかの概念をおさらいします。Trusted Solaris には「管理役割」と「非管理役割」という 2 種類の役割があります。
ほとんどの管理作業は管理役割により実行されます。管理役割は多くの点に関して非管理役割と似通っていますが、以下の点だけが異なります。
管理役割は sysadmin グループ (GID は 14) に属す。これは NIS+ 関連の作業を実行するために必要となる GID である。
管理役割は特殊な「管理役割ワークスペース」で作業を行う。管理役割ワークスペース内のプロセスは、多くの管理プログラムに使われる必須のトラステッドパス属性を持つ。
詳細については、「管理役割ワークスペースでの作業」を参照してください。
デフォルトでは多くの管理作業はセキュリティ管理者 (secadmin) と管理者 (admin) 役割のどちらかに分類されます。第 3 の管理役割としてスーパーユーザー役割があります。スーパーユーザー役割はソフトウェアのインストールのように、その遂行に実際のスーパーユーザーの UID が必要となる作業を行う場合に使用されます。
デフォルトでは、非管理役割のうち唯一オペレータ (oper) 役割だけになります。この役割はファイルシステムのバックアップを行う場合に割り当てられます。
Trusted Solaris 環境では、管理役割を担うユーザーであっても最初から直接ログインしてはいけません。管理役割であれ非管理役割であれ、特定の役割を担うユーザーは次の手順で、ウィンドウシステム内で作業を開始しなければなりません (管理役割と非管理役割の違いは、下記の手順において最後の 2 項目だけです)。
セキュリティ管理者の役割は User Manager Roles ダイアログを使って特定のユーザーアカウントに管理役割または非管理役割を割り当てます。
セキュリティ管理者の役割はユーザーに対して、そのユーザーアカウント用のパスワードとそのユーザーアカウントが果たす特定の役割用のパスワードを付与します。
特定の役割になれるよう設定されたユーザーは、自分自身のユーザー名とパスワードを使ってログインします。
通常のユーザーワークスペースが生成されます。ユーザーワークスペースは、多くのプログラムによって検査されるトラステッドパス属性を持ちません。
ユーザーはトラステッドパスメニューから「役割になる (assume role)」オプションを選択し、役割用パスワードのダイアログボックスにパスワードを入力します。
管理役割ワークスペースがトラステッドパス属性でアクティブになり、そのユーザーは管理役割に割り当てられた管理作業を実行できるようになります。
ログイン時点で、ログインしたユーザーの生成するすべてのプロセスには特定の UID (これは監査 ID としても使われます) が関連付けられるようになります。ユーザーが特定の役割へ移行した場合、そのユーザーの実効 ID は変化しますが監査 ID は変化しません。同様のことは、実効 UID によって動作するプログラムに対してもいえます。このプログラムを実行するプロセスの監査 ID は、実際のユーザーを識別し続けることができます。監査 ID により、ユーザーが役割になっているときに実行した処理から、そのユーザーがログイン時に認証されたユーザーアカウントを導きだすことができます。
このように、まずユーザーとしてログインし認証を経た後でなければ特定の役割に移行できないようにすることには、通常の UNIX システムで発生しがちなセキュリティホールを塞ぐ意味があります。通常の UNIX システムではスーパーユーザーのパスワードを知っている者なら誰でも直接ログインしてシステム上のすべての情報に制限なしに匿名でアクセスすることが可能となります。
デフォルトでは、システムをリブートするたびにログインは無効となります。ログインが無効のとき、「 ログインを有効化」承認を持つユーザーアカウントだけがログインしたり、ログインを有効にすることができます。このようなログイン無効化の目的は、システム管理者や信頼できる他の社員がシステムセキュリティを検証した後でなければその他のユーザーの再ログインを許さないようにすることにあります。
システムがリブートされてまだログインが有効になっていない場合、ユーザーが自分のパスワードを入力すると次の 2 つのダイアログボックスのうちのどちらかが表示されます。
現在のユーザーアカウントが「 ログインを有効化」承認を持たない場合、次のようなダイアログボックスが表示されます。
現在のユーザーアカウントが 「ログインを有効化」承認を持つ場合、次 のようなダイアログボックスが表示されます。
Trusted Solaris と Solaris の両方のオペレーティング環境において、システムのシャットダウン中には、ログインを防ぐために /etc/nologin ファイルが作成されます。このファイルはブートが完了すると削除されます。Trusted Solaris システムでは、このファイルの使い方が拡張されています。デフォルトでは、/etc/nologin ファイルは作成し直され、認証されたユーザーがログインを有効にするまで削除されません (「管理的アクションの監査」を参照)。
この機能を削除してもサイトのセキュリティポリシーに矛盾しない場合、セキュリティ管理者役割は、/etc/init.d 中の RMTMPFILES スクリプトを編集し、/etc/nologin ファイルを作成し直す行をコメントアウトできます。これを行うには、このような変更がご自分のサイトのセキュリティポリシーに合致しているかどうか確認した上で 「リブート後のログイン無効化を防ぐには」に示してある手順を実行してください。
管理者がリモートホスト上で管理するには、いくつかの方法があります。
管理者は管理役割になり、rlogin(1) または telnet(1) を使ってリモートホストにログインし、管理役割の実行プロファイルに割り当てられている任意のコマンドを使って、コマンド行から変更を行います。
ローカルホスト上で Solstice ツールを使うとき、管理者は NIS+ マスター上の NIS+ テーブルか、リモートホスト上にある構成ファイルのどちらかを変更できます。
「「Solstice アプリケーション (Solstice_Apps)」アプリケーションフォルダ内の管理ツールの使用」を参照してください。
任意のユーザーは、ローカルホストの CDE ログイン画面からリモートホスト上の CDE ウィンドウシステムに直接ログインできます。
リモートホストにログインした後、管理者は管理役割になり、ローカルホスト上で実行できるのと同じ作業を行うことができます。「リモートホスト上での CDE ログインセッションの起動」を参照してください。
管理者は、ローカルホスト上のワークスペースからリモートホストにログインできます。そして、アプリケーションマネージャを起動して、ローカルホストで表示しながら、リモートホストを管理できます。
必要であれば、「ログイン後、特定の管理役割になるには」を参照してください。
リモートホスト上でログインセッションを起動するには、管理者はローカルホストの CDE ログイン画面から「リモートログイン (Remote Login)」オプションを使い、リモートホストにログインした後で管理役割になります。次の図に、「オプション (Options)」ボタンのプルダウンメニューを引き出したときのログイン画面を示します。
「ログイン後、特定の管理役割になるには」を参照してください。
ログインしたユーザーは、次のことを行うことによって管理役割を実行します。
右 (メニュー) マウスボタンをワークスペースのスイッチ領域上でクリックしたままトラステッドパスメニューまでドラッグする。
または、ワークスペースボタン上でメニューボタンをクリックしたままワークスペースボタン名のメニューまでドラッグする。
「役割になる: [役割名] 役割 (Assume role_name Role)」を選択する。
Workspace One のメニューと Assume admin Role オプションが含まれる TP Menu を次の図に示します。
ユーザーにシャットダウン権限があるときのみ「シャットダウン (Shut Down)」オプションが表示されます。デフォルトでは、すべての管理役割がシャットダウン権限を持ちます。