4    セキュリティの管理

この章では,プリント・システム上にセキュリティ・ポリシを実装するために利用できるオプションについて説明します。セキュリティ・オプションは,管理機能に対する無許可のアクセスを防いだり,プリント・ジョブやプリント・データが無許可のユーザからアクセス,コピー,再ルート指定,あるいは削除されないように保護します。

この章では,次のセキュリティ機能を説明します。

4.1    システム・セキュリティ

サーバに対して要求が行われるとき,その要求はリモート・プロシージャ・コール (RPC) の形式になります。この RPC 要求には,要求を作成したユーザの UID が含まれています。要求を作成したユーザを識別して,認証するために,プリント・システムはローカル・パスワード・ファイルと NIS 分散パスワード・ファイルをチェックして,要求側の UID と有効な UID を照合します。この照合が一致する場合,スーパバイザが,サーバ ACL にアクセスして,そのユーザが,要求したサービスの使用を許可されているかどうかを判断します。許可の際には,次の処理が行われます。

ユーザ名またはグループ名と,要求者と操作の許可が,ACL 内で対応するものと一致した場合,操作が実行されます。特権を付与されていないサービスにアクセスしようとしたユーザは,要求したサービスを拒否されます。

4.2    許可

プリント・システムの許可は,ユーザと特権レベルとの関連付けに基づいています。プリント・システムのユーザに対しては,次のような 3 つのユーザ・レベルが存在します。

  1. エンド・ユーザ -- プリント・システムで印刷だけを行うユーザ。これは最小限の特権を持つユーザです。

  2. オペレータ -- 施設内のプリンタを制御するユーザ。オペレータには,プリンタやサーバの一時停止と再開,ジョブの再キューイング,サーバのシャットダウンを行うことができる特権があります。

  3. 管理者 -- オペレータ特権と,システムを構成するために必要な特権を持つユーザ。

プリント・システムは,ローカルの root アカウントにも特権を付与しています。これは,プリント・システム・サーバを実行しているシステム上の root アカウント (UID 0) です。ACL に何が定義されているかにかかわらず,ローカルの root ユーザには管理者特権があり,サーバの起動に必要な許可を持っているユーザはローカルの root だけです。

4.2.1    エンド・ユーザの操作

プリント・システム要求のクライアントがエンド・ユーザ許可を付与されている場合,クライアントは次の操作を行うことができます。

4.2.2    オペレータの操作

プリント・システムのオペレータは,プリンタおよびジョブの日常的な管理機能を実行します。プリント・システム操作用のクライアントにオペレータ許可が付与されていると,そのクライアントはエンド・ユーザが実行できるすべての操作の他に,次の操作を実行できます。

4.2.3    管理者

プリント・システムのインストール環境の中には,オペレータがおらず,エンド・ユーザと管理者だけの場合もあります。そのような場合,プリントおよびジョブの日常的な管理機能を実行するのは管理者になります。

プリント・システム要求のクライアントに管理者許可が付与されている場合,そのクライアントは次の操作を行うことができます。

4.3    アクセス制御リスト (ACL) による認証

エンド・ユーザ,オペレータ,管理者が実行を許可される操作は,ACL によって制御されています。これらの許可と ACL だけがサーバ・オブジェクトへのアクセスを制御します。ACL は,あるユーザのアクセスを特定のプリンタに限定しません。

ACL は,サーバに対する access-control-list 属性を定義することで作成されます。この属性は複数の値をとり,サーバが作成されたとき (pdmakedb),または,pdset コマンドまたは GUI を使用していつでも,定義できます。ほとんどの場合,サーバを作成するときにはすべての ACL 属性は定義せず,サーバを作成した後にこれらの属性を追加します。次の表に,access-control-list 属性のフィールドについて説明します。

フィールド 説明
namename@host ユーザ名およびホスト名 (省略可能)
name-type ユーザのタイプ:
  all-users
  user
  group
  netgroup
privilege-level アクセス・レベルのタイプ:
  end-user
  operator
  administrator

次の規則は,ACL にアクセスして,ユーザの許可を検証する際に適用されます。

name-type の netgroup 値は,特定のユーザを特定のホストに限定するので,これをオペレータと管理者の特権レベルに主に使用することは普通であると考えられます。

注意

ACL に ホスト名 (root@host_name) を指定しないで root を追加すると,ネットワーク環境内にあるすべてのリモート・システムの全 root ユーザがサーバに対して特権付きのアクセス権を持ってしまうので,ACL に ホスト名 (root@host_name) を指定しないで root を追加してはなりません。

4.3.1    ACL の作成

コマンド行から,または pdprintadmin GUI を使用することによって,ACL の作成と変更を行うことができます。この項では,この両方のインタフェースを使用して ACL の作成と管理を行う方法について説明します。

pdprintadmin GUI を使用して ACL の作成や変更を行うには,次の手順を使用します。

  1. 「ツール」メニューから,「ユーザ管理」を選択します。

  2. 「構成要素」ボックスから,スプーラまたはスーパバイザ・サーバを選択します。

  3. 「ユーザ」ボックスで,「システム管理者」,「オペレータ」,「一般ユーザ」の中から,追加する「ユーザクラス」を選択します。

  4. 選択したユーザ・クラスに対して,「全員」または「特定のユーザ」のいずれかを選択します。

  5. 「特定のユーザ」を選択した場合,「追加」ボタンを押して新しいエントリを追加するか,または既存のエントリをクリックしてそのエントリを削除します。

  6. 手順 5 で追加を選択した場合は,「新しいエントリの追加」ダイアログ・ボックスが表示されます。単一のユーザを追加する場合には「ユーザ」,グループを追加する場合には「グループ」,ネットグループの名前を追加する場合には「ネットグループ」をそれぞれ選択します。テキスト・フィールドにユーザ,グループ,ネットグループのいずれかの名前を入力して「OK」を選択します。