Linux および UNIX で過剰な権限を回避する主な観点とは、スーパーユーザー (「root」、uid 0) アカウントでプロセスを実行しないことです。Linux および一部の UNIX システムには、権限を縮小するための追加のメカニズムも用意されています。
Linux および UNIX では、MFDS プロセス (mfds32 または mfds64) は、デフォルトのポート 86 を使用するためにスーパーユーザー権限が必要なため、通常は root として実行されます。Enterprise Server の新しいリリースでは、MFDS は、[Default process user ID] が構成されている場合、起動直後にそのユーザー ID に切り替わります。Micro Focus では、Enterprise Server を使用するためのアカウントを作成し、Web 管理インターフェイスまたは casperm ユーティリティー プログラムを使用して、このアカウントをデフォルトのプロセス ユーザー ID として設定することを強くお勧めします。
Enterprise Server に含まれるその他のデーモン プログラムは、一般的に root として実行する必要がありません。ベスト プラクティスは、これらのプログラムを専用のユーザー アカウントで実行するように構成することです。これにより、トピック「ファイルシステムの権限の強化」で解説しているように、管理者がファイルシステムの権限を適切に設定できるようになります。
Enterprise Server または関連製品 (COBOL コンパイラなど) の他のコンポーネントをルートとして実行することを避けます。
Enterprise Server に使用されるユーザー アカウントには、sudo など権限を付与するユーティリティへのアクセスは必要ありません。
Linux ディストリビューションには、多くの場合、SELinux が含まれています。これは、特定のシステム コールおよびリソースへのアクセスを制限できる機能です。SELinux の構成は本ドキュメントの範囲外ですが、Linux を使用するセキュリティ意識の高い組織は調査すべきです。
さまざまな UNIX ベースのオペレーティング システムには、権限を減らすための独自のメカニズムがあります。たとえば、AIX および Solaris はどちらも、ロールベース アクセス制御 (RBAC) の実装に関連付けられた権限メカニズムを備えており、特定のプロセスに利用できる権限を制限するために使用できます。
歴史を振り返ると、UNIXの chroot システム コールが、制限された環境で一部のプロセスを実行するために使用されていました。最新の UNIX は、AIX WPAR および Solaris Containers (「Zones」とも呼ばれる) など、高性能の OS 仮想化メカニズムを提供しています。Docker によるコンテナー化は、エンタープライズ サーバー インスタンス を複数の目的で使用される OS インスタンスで実行するのではなく、特定の目的の環境に制限するもう 1 つの方法です。