前のトピック: 端末を使用するユーザ権限の定義次のトピック: 推奨する制限


root ユーザの端末の制限

考慮する必要があるもう 1 つの問題として、TERMINAL クラスのデフォルト ルールがあります。 初期実装段階のデフォルト ルールでは、定義されていないアクセスはすべて許可されます。 TERMINAL クラスの場合は、これが問題になる可能性があります。

たとえば、サイトに数百台の端末があるとします。ほとんどのユーザは任意の端末からログインできるようにしますが、root ユーザは事前定義された 2 台の端末からのみログインできるように設定します。

最初に、TERMINAL クラスのデフォルトを READ に設定すると、root ユーザを含むすべてのユーザが、データベース内に特定の TERMINAL レコードがない任意の端末からログインできるようになります。 スーパーユーザが任意の端末からログインできることは望ましくありません。 また、TERMINAL クラスのデフォルトを NONE に設定すると、データベースで各端末を定義する必要があるため、作業負荷が非常に大きくなる場合があります。

CA ControlMinder では、この問題を解決するために、TERMINAL クラスの _default レコード内にアクセス制御リストを定義できるようになっています。 以下のコマンドは、最小限の操作で root ユーザを 2 つの端末に制限する方法を示しています。

newres TERMINAL term1 defaccess(N) owner(root)
newres TERMINAL term2 defaccess(N) owner(root)
newres TERMINAL _default defaccess(R)
authorize TERMINAL _default uid(root) access(N)

最初の 2 つのコマンドでは、term1 と term2 を root が所有する端末として定義しています。そのため、これらの端末は、スーパーユーザでのログインが可能な端末になります。 newres TERMINAL _default コマンドと chres コマンドでは、デフォルト アクセス権として READ を設定しています。その結果、データベースで定義されていない端末には、すべてのユーザがアクセス可能です。 authorize コマンドでは、未定義の端末に対するスーパーユーザのアクセスを明示的に禁止しています。

注: UACC クラスは現在も存在し、リソースのデフォルト アクセス権を指定するときに使用できます。 ただし、リソースのデフォルト アクセス権を指定するには、_default レコードを使用する方が簡単です。