JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris の管理: 基本管理     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

本書について

1.  Oracle Solaris 管理ツール (製品概要)

2.  Solaris 管理コンソールの操作 (タスク)

3.  Oracle Java Web Console の操作 (タスク)

4.  ユーザーアカウントとグループの管理 (概要)

5.  ユーザーアカウントとグループの管理 (タスク)

6.  クライアントとサーバーサポートの管理 (概要)

7.  ディスクレスクライアントの管理 (タスク)

8.  システムのシャットダウンとブートの概要

9.  システムのシャットダウンとブート (概要)

10.  システムのシャットダウン (タスク)

11.  Oracle Solaris ブート動作の変更 (タスク)

12.  Oracle Solaris システムのブート (タスク)

13.  Oracle Solaris ブートアーカイブの管理 (タスク)

14.  Oracle Solaris システムのブートのトラブルシューティング (タスク)

15.  x86: GRUB ベースのブート (参照情報)

16.  x86: GRUB を実装しないシステムのブート (タスク)

17.  Oracle Configuration Manager の操作

18.  サービスの管理 (概要)

19.  サービスの管理 (タスク)

サービスの管理 (タスクマップ)

SMF サービスの監視

サービスのステータスを一覧表示する方法

特定のサービスに依存するサービスを表示する方法

特定のサービスが依存するサービスを表示する方法

SMF サービス (タスクマップ)

SMF サービスの管理

RBAC 権利プロファイルを使って SMF を管理する

サービスインスタンスを無効にする方法

サービスインスタンスを有効にする方法

サービスを再起動する方法

保守状態のサービスを復元する方法

別の SMF スナップショットに戻す方法

SMF プロファイルを作成する方法

SMF プロファイルを適用する方法

ネットワークに提供するサービスを generic*.xml で変更する

SMF サービスの構成

サービスを変更する方法

サービスの環境変数を変更する方法

inetd 制御サービスのプロパティーを変更する方法

inetd 制御サービスのコマンド行引数を変更する方法

inetd.conf エントリを変換する方法

実行制御スクリプトの使用 (タスクマップ)

実行制御スクリプトの使用

実行制御スクリプトを使用して従来のサービスを起動または停止する方法

実行制御スクリプトを追加する方法

実行制御スクリプトを無効にする方法

サービス管理機能のトラブルシューティング

起動していないサービスをデバッグする

破壊されたリポジトリを修復する方法

どのサービスも起動しないでブートする方法

ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法

20.  ソフトウェアの管理 (概要)

21.  Oracle Solaris システム管理ツールによるソフトウェアの管理 (タスク)

22.  Oracle Solaris パッケージコマンドによるソフトウェアの管理 (タスク)

23.  パッチの管理

A.  SMF サービス

索引

SMF サービスの管理

このセクションでは、SMF サービスの管理について説明します。

RBAC 権利プロファイルを使って SMF を管理する

RBAC 権利プロファイルを使用して root アクセス権を付与していないユーザーに、一部の SMF サービスの管理を許可することができます。権利プロファイルには、そのユーザーが実行できるコマンドを定義します。SMF のために次のプロファイルが作成されています。

承認については、smf_security(5) のマニュアルページを参照してください。権利プロファイルを割り当てる手順については、『Solaris のシステム管理: セキュリティーサービス』の「ユーザーの RBAC プロパティーを変更する方法」を参照してください。

サービスインスタンスを無効にする方法

サービスを無効にするには、次の手順に従います。サービスのステータス変化はサービス構成リポジトリ内に記録されます。サービスがいったん無効になると、その無効な状態はリブート後も維持されます。サービスを実行中の状態に戻す唯一の方法は、そのサービスを有効にすることです。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. 無効にするサービスに依存するサービスの有無を確認します。

    必要とするサービスがこのサービスに依存していた場合、このサービスを無効にできません。

    # svcs -D FMRI
  3. サービスを無効にします。
    # svcadm disable FMRI

例 19-7 rlogin サービスを無効にする

最初のコマンドの出力結果から、rlogin サービスに依存するサービスは存在しないことがわかります。この例の 2 番目のコマンドは、rlogin サービスを無効にしています。3 番目のコマンドの結果から、rlogin サービスインスタンスの状態が無効になっていることがわかります。

# svcs -D network/login:rlogin
# svcadm disable network/login:rlogin
STATE          STIME    FMRI
# svcs network/login:rlogin
STATE          STIME    FMRI
disabled         11:17:24 svc:/network/login:rlogin

サービスインスタンスを有効にする方法

サービスを有効にするには、次の手順に従います。サービスのステータス変化はサービス構成リポジトリ内に記録されます。サービスがいったん有効になると、そのサービスの依存関係に問題がない限り、その有効な状態はシステムのリブート後も維持されます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. サービスの依存関係に問題がないか確認します。

    依存するサービスが有効になっている場合、サービスの依存関係に問題はありません。そうでない場合は、svcadm enable -r FMRI を使用して、すべての依存関係を再帰的に有効にします。

    # svcs -l FMRI|grep enabled
  3. サービスを有効にします。
    # svcadm enable FMRI

例 19-8 rlogin サービスを有効にする

この例の 2 番目のコマンドは、rlogin サービスを有効にしています。3 番目のコマンドの結果から、rlogin サービスインスタンスの状態がオンラインになっていることがわかります。

# svcs -l network/login:rlogin|grep enabled
enabled      false
# svcadm enable network/login:rlogin
# svcs network/login:rlogin
STATE          STIME    FMRI
online         12:09:16 svc:/network/login:rlogin

例 19-9 シングルユーザーモードでサービスを有効にする

次のコマンドは rpcbind を有効にします。-t オプションは、サービスリポジトリを変更しないモードでサービスを一時的に起動します。このリポジトリにシングルユーザーモードで書き込むことはできません。-r オプションは、指定されたサービスのすべての依存関係を再帰的に有効にします。

# svcadm enable -rt rpc/bind

サービスを再起動する方法

構成が変更されたなどの理由により現在実行中のサービスを再起動する必要が生じた場合、サービスの停止時と起動時に個々のコマンドを入力することなく、サービスの再起動を行えます。サービスの無効化と有効化を別々に行う必要があるのは、サービスの無効化後かつ有効化前に変更を反映する必要がある場合だけです。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. サービスを再起動します。
    # svcadm restart FMRI

保守状態のサービスを復元する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. そのサービスに依存するプロセスのうち、停止していないものが存在しないかどうかを確認します。

    通常、サービスインスタンスが保守状態になっている場合、そのインスタンスに関連付けられたすべてのプロセスが停止しています。ただし、処理を進める前にそのことを確認する必要があります。次のコマンドを実行すると、特定のサービスインスタンスに関連付けられたすべてのプロセスが一覧表示されます。その際、各プロセスの PID も表示されます。

    # svcs -p FMRI
  3. (省略可能) 残っているプロセスをすべて強制終了します。

    svcs コマンドで表示されたすべてのプロセスに対して、この手順を繰り返します。

    # pkill -9 PID
  4. 必要であれば、サービスの構成を修復します。

    /var/svc/log 内の対応するサービスログファイルを開き、エラーが発生していないか確認します。

  5. サービスを復元します。
    # svcadm clear FMRI

別の SMF スナップショットに戻す方法

サービスの構成が間違っている場合、正常に起動した最後のスナップショットに戻すことで問題を解決できます。この手順では、console-login サービスの以前のスナップショットを使用します。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. svccfg コマンドを実行します。
    # svccfg
    svc:>
    1. 修正するサービスインスタンスを選択します。

      注 - インスタンスを完全に定義した FMRI を使用する必要があります。短縮形は使えません。


      svc:> select system/console-login:default
      svc:/system/console-login:default>
    2. 利用可能なスナップショットの一覧を生成します。
      svc:/system/console-login:default> listsnap
      initial
      running
      start
      svc:/system/console-login:default>
    3. 戻し先として start スナップショットを選択します。

      start スナップショットとは、サービスが正常に起動した最後のスナップショットのことです。

      svc:/system/console-login:default> revert start
      svc:/system/console-login:default>
    4. svccfg を終了します。
      svc:/system/console-login:default> quit
      #
  3. サービス構成リポジトリ内の情報を更新します。

    この手順では、start スナップショットの構成情報に基づいてリポジトリを更新します。

    # svcadm refresh system/console-login
  4. サービスインスタンスを再起動します。
    # svcadm restart system/console-login

SMF プロファイルを作成する方法

プロファイルとは、SMF サービスの一覧とそれぞれを有効にするかどうかを示す XML ファイルのことです。プロファイルは、多くのサービスを一度に有効または無効にするために使用されます。すべてのサービスをプロファイルに含める必要はありません。効果的なプロファイルを作成するには、各プロファイルには有効または無効にする必要のあるサービスだけを含めるようにします。

  1. プロファイルを作成します。

    この例では、svccfg コマンドを使用して、現在のシステムで有効になっているサービスと無効になっているサービスを反映するプロファイルを作成します。代わりに、既存のプロファイルのコピーを作成し、それを編集することもできます。

    # svccfg extract> profile.xml

    Oracle Solaris JumpStart を使用する場合、同一のシステムが多数ある場合、またはあとで復元できるようにシステムの構成のアーカイブを作成する場合は、この手順を使用して単一の SMF プロファイルを作成することができます。

  2. profile.xml ファイルを編集して、必要な変更を加えます。
    1. service_bundle 宣言内のプロファイルの名前を変更します。

      この例では、profile という名前に変更しています。

      # cat profile.xml
        ...
      <service_bundle type=`profile` name=`profile`
          xmIns::xi='http://www.w3.org/2003/XInclude'
        ...
    2. このプロファイルで管理すべきでないサービスをすべて削除します。

      各サービスについて、サービスを説明する 3 行を削除します。各サービスの説明は、<service で始まり、</service で終わります。この例は、LDAP クライアントサービスの行を示しています。

      # cat profile.xml
       ...
       <service name='network/ldap/client' version='1' type='service'>
               <instance  name='default' enabled='true'/>
       </service>
    3. このプロファイルで管理すべきサービスをすべて追加します。

      上記の 3 行の構文を使用して各サービスを定義する必要があります。

    4. 必要に応じて、選択したサービスの enabled フラグを変更します。

      この例では、sendmail サービスを無効にしています。

      # cat profile.xml
        ...
        <service  name='network/smtp' version='1' type='service'>
          <instance  name='sendmail' enabled='false'/>
        </service>
        ...
  3. 必要に応じて、この新しいプロファイルを適用します。

    手順については、「SMF プロファイルを適用する方法」を参照してください。

SMF プロファイルを適用する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. プロファイルを適用します。

    この例では、profile.xml プロファイルを使用しています。

    # svccfg apply profile.xml

    注 - generic_limited_net.xml generic_open.xml を切り替えるための具体的な手順、およびこの切り替えを行うときに適用する必要のあるプロパティーについては、「ネットワークに提供するサービスを generic*.xml で変更する」を参照してください。


ネットワークに提供するサービスを generic*.xml で変更する

netservices コマンドを使用すると、ネットワークに最小限のシステムサービスを公開するか、従来の (以前の Solaris リリースと同じ) サービスを公開するかを切り替えることができます。この切り替えは、generic_limited.xml プロファイルと generic_open.xml プロファイルによって行われます。また、このコマンドによって一部のサービスのプロパティーが変更され、それに従ってサービスがローカル専用モードや従来モードに制限されます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理: セキュリティーサービス』の「RBAC の構成 (タスクマップ)」を参照してください。

  2. netservices コマンドを実行します。

    この例では、open、つまり従来のネットワークサービスの公開を選択しています。

    # /usr/sbin/netservices open

例 19-10 ネットワークサービスの公開を制限する

このコマンドは、一部のサービスをローカルモードで実行するようにプロパティーを変更し、有効にするサービスを generic_limited_net プロファイルによって制限します。このコマンドは、generic_open.xml プロファイルが適用されている場合のみ使用するようにしてください。

# /usr/sbin/netservices limited