役割には次の 2 つの種類があります。
非管理役割
管理役割
オペレータ (oper) はデフォルトのシステムでは、次の非管理役割だけが存在します。
オペレータ役割はバックアップ作業とプリンタ管理を行うための役割です。オペレータ役割の行う機能は、トラステッドパス属性をはじめ、「管理役割」に述べる「管理役割」の持ついかなる特性も必要としません。
非管理役割は、複数ユーザーに同じプロファイルを割り当てる上で、次のような利点を持っています。
役割が作成したファイルはすべて、その役割により所有されます。このため、その役割になれるユーザーはすべて、そのファイルの所有者となることで、そのファイルに関して同じアクセス許可を持つことができます。
(非管理) 役割になったユーザーはすべて、/etc/security/tsol/home 下にある同じホームディレクトリを共有し、(非管理) 役割のワークスペース内の同じ環境で作業します。
たとえば、複数のユーザーを help というサポート役割になるように設定します。この場合、help 役割から出されるメールはすべて単一の名前で出されます。したがって、help 役割内で作業しているユーザーはカスタマからは識別できません。
デフォルトの Trusted Solaris システムでは、次の 2 つの主要な管理役割があります。
セキュリティ管理者 (secadmin)
システム管理者 (admin)
上記以外に、第 3 の任意の管理役割として、root 役割が存在します。root 役割は、ソフトウェアのインストールのように番号 0 の実 UID (root の UID) を必要とする作業を行うものです。root 役割は、通常、セキュリティ管理役割を持つアカウントに割り当てられます。これは、root の機能が制限されている一方で root 役割の主な機能であるソフトウェアの追加は、セキュリティに直接かかわってくるからです
管理役割には次のような特徴があります。
管理役割には、その追加グループ ID の 1 つとして sysadmin (GID 番号 14) が自動的に割り当てられます。このグループ ID を持たない場合、役割は管理ツールを実行できません。
管理役割ワークスペースは、トラステッドパス属性を持ちます。この属性は管理ツールを使用する場合に必要となるものです。
root 役割のホームディレクトリは / です。secadmin と admin のホームディレクトリは /etc/security/tsol/home の下にあります。
各サイトでは、トラステッドパス属性を検査するようなコマンドやアクションを使用する役割が必要となった場合、新しい管理役割を作成できます。たとえば、3 つのデフォルトの管理役割を 1 つの役割にまとめたい場合、そのような機能を持つ新しい管理的役割を作成できます。詳しくは 「2 つの役割による分割管理を取らない場合」 を参照してください。
トラステッドパス属性は、ブート時、あるいはプログラムが管理役割ワークスペースで動作しているときに取得できます。プログラムがトラステッドパス属性を取得できるのは、そのプログラムがブートプロファイルまたは管理役割に割り当てられているプロファイルに指定されているときだけです。
多くの管理コマンドやアクションにはトラステッドパス属性が必要です。たとえば、プロファイルシェルが管理役割の代わりに起動されるとき (たとえば、デフォルトのプロファイルシェルで端末エミュレータを起動するときや、(管理) 役割がプロファイルシェルのスクリプトを実行するとき)、プロファイルシェルはトラステッドパス属性を検査します。管理役割ワークスペースにウィンドウを作成するコマンドやスクリプト (多くのインストールスクリプトなど) にはトラステッドパス属性が必要です。次の表に、これ以外のコマンドやツールの一覧を示します。
表 4-1 トラステッドパスを必要とするコマンド、オプションおよびアプリケーションコマンドまたはアプリケーション | オプション |
---|---|
audit(1M) |
|
auditd(1M) |
|
login(1) | -d および -f |
lpsched(1M) | |
runpd(1M) | |
sendmail(1M) | -ba, -bd, -bi, -bs, -bt, -bv, -M, -X, -d, -q |
Database Manager (dbmgr) | |
Group Manager (groupmgr) | |
Host Manager (hostmgr) | |
Printer Manager (printermgr) | |
Profile Manager (profilemgr) | |
Serial Manager (serialmgr) | |
User Manager (usermgr) |
デフォルトのシステムでは、作業しやすくなるように、管理役割には All Commands プロファイルが割り当てられています。All Commands プロファイルが割り当てられた役割は、特権または他の拡張セキュリティ属性なしにコマンドを実行できます。あるプログラム (コマンド) が役割のプロファイルの 1 つに明示的に指定されていないとき、プロファイルシェルは常にトラステッドパス属性を無効にし、(そのプログラムが起動されると)、次のようなメッセージを表示します。
WARNING: Command operating outside of the Trusted Path!
このメッセージは、実行しようとしているコマンドにセキュリティ制限を回避する権利が与えられていないことを役割に知らせます。コマンドが成功したとしても、警告は表示されます。エラー警告を抑制するには、-Q オプションを使います。つまり、管理役割はプロファイルシェルのコマンド行で set -Q と入力するか、$HOME/.profile ファイルに set -Q を入力します。
プログラムが失敗したとき、プログラムにトラステッドパス属性が欠如していることを示す警告が表示されます。このエラーは、インストールプログラムが管理役割ワークスペースでウィンドウを起動しようとして失敗したときに表示されます。また、トラステッドパス属性を持たない管理役割はプロファイルシェルを起動できないため、シェルスクリプトがプロファイルシェルを使ったときにもこのエラーが表示されます。どちらの場合でも、修正するには、役割に割り当てられているプロファイルにインストールプログラムまたはシェルスクリプトを追加します。
ほとんどの管理作業で使われる Solstice AdminSuite ツールはトラステッドパス属性を検査します。したがって、表 4-1 の一覧にあるプログラムやオプションなどにアクセスする必要がある新しい役割をセキュリティ管理者が作成する場合、セキュリティ管理者役割は新しい役割を管理役割として指定する必要があります。