Solaris 10 ユーザーは、asadmin create-service コマンドを使用して、ノードエージェントまたはドメイン管理サーバー (DAS) を再起動するサービスを作成できます。作成したサービスでは、Solaris サービス管理機能 (SMF) が使用されます。
サービスが再起動するプロセスは、そのサービスが DAS またはノードエージェントのどちらを再起動するかによって異なります。
DAS を再起動するサービスのプロセスは、asadmin start-domain です。
ノードエージェントを再起動するサービスのプロセスは、asadmin start-node-agent です。
サービスはプロセスに、そのプロセスを実行するユーザーの特権を付与します。asadmin create-service コマンドを使用して SMF サービスを作成する場合、デフォルトのユーザーはスーパーユーザーです。別のユーザーがプロセスを実行する必要がある場合は、method_credential にそのユーザーを指定します。
プロセスを Solaris OS の特権ポートにバインドする場合、そのプロセスには net_privaddr 特権が必要です。Solaris OS の特権ポートは、1024 より小さいポート番号です。
ユーザーが net_privaddr 特権を持っているかどうかを確認するには、そのユーザーとしてログインし、ppriv -l | grep net_privaddr コマンドを入力します。
asadmin create-service コマンドを実行するには、solaris.smf.* 認証が必要です。この認証の設定方法については、useradd および usermod のマニュアルページを参照してください。さらに次のディレクトリツリーでの書き込み権も必要です。 /var/svc/manifest/application/SUNWappserver。通常、スーパーユーザーはこれらの権限をどちらも持っています。また、svccfg、svcs、auths などの Solaris 10 管理コマンドが PATH で使用できなければなりません。このコマンドの詳細は、create-service(1) のマニュアルページを参照してください。
構文は次のとおりです。
asadmin create-service [--name service-name] [--type das|node-agent] --passwordfile password-file [--serviceproperties serviceproperties] domain-or-node-agent-configuration-directory |
たとえば、domain1 に対して domain1 という名前のサービスを作成するには、次の手順に従います。
次のコマンドを実行します。
asadmin create-service --type das --passwordfile password.txt /appserver/domains/domain1
これで、ドメイン domain1 を自動的に再起動するサービスが作成されます。このコマンドにより、バックグラウンドで、テンプレートからマニフェストファイルが作成されて検証され、そのファイルがサービスとしてインポートされます。
特定の Communications Server ドメインにデフォルトのユーザー特権を与えないようにする場合は、サービスのマニフェストを変更し、サービスを再インポートします。ユーザーの特権を調べるには、そのユーザーとしてログインし、ppriv -l コマンドを入力します。
サービスが作成されたら、次の svacdm enable コマンドを使用してサービスを有効にします。
svacdm enable /appserver/domains/domain1
有効にしたあと、ドメインが停止した場合は、SMF によって再起動されます。
サービスを管理するときに、次の Solaris コマンドが役に立ちます。
auths
smf_security
svcadm
svccfg
rbac
useradd
usermod
これらのコマンドの詳細については、各コマンドのマニュアルページを参照してください。