Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

4.4. JBoss ON 操作での sudo の使用

使用の時間は、サービス sudo の起動やプロセス、リソースユーザーが所有するスクリプトなど、長時間実行される操作に使用されます。スクリプトを実行するユーザーは、適切な承認とパーミッションを持つため、リソースユーザーと同じである必要があります。
ユーザーは実際に同じであることや、JBoss ON ユーザーに指定コマンドへの sudo 権限を付与できます。
エージェントユーザーのパーミッションを昇格する場合は、以下の 2 つの項目が true である必要があります。
  • パスワードのプロンプトなしでユーザーとの対話を必要としません。
  • エージェントが変数をスクリプトに渡すことができるはずです。
リソーススクリプトを設定するには sudo、以下を行います。
  1. JBoss ON エージェントユーザーに特定のスクリプトまたはコマンドへの sudo 権限を付与します。たとえば、jbossadmin ユーザーとしてスクリプトを実行するには、以下を実行します。
    [root@server ~]# visudo
    
    jbosson-agent     hostname=(jbossadmin)  NOPASSWD: /opt/jboss-eap/jboss-as/bin/*myScript*.sh
    NOPASSWD オプションを使用すると、パスワードを要求せずにコマンドが実行されます。
    重要
    JBoss ON は、EAP インスタンスの開始時に、コマンドライン引数を start スクリプトで渡します。これは、sudoers エントリーに完全なコマンドラインスクリプト(引数を含む)を含めるか、ラッパースクリプトの sudo -u user コマンドを使用するか、スクリプト接頭辞のいずれかを指定して実行できます。
    2 つ目のオプションには、簡単な sudoers エントリーがあります。
  2. 使用するラッパースクリプトを作成または編集します。リソースのスクリプトを直接呼び出す代わりに、スクリプトの実行 sudo に使用するラッパースクリプトを呼び出します。
    注記
    EAP 起動スクリプトでは、別のラッパースクリプトを作成する代わりに、接続設定にスクリプト接頭辞を設定できます。
    /usr/bin/sudo -u jbosson-agent
    たとえば、開始スクリプトラッパーの場合は、start-myScript.sh以下を行います。
    #!/bin/sh
    # start-myScript.sh
    # Helper script to execute start-myConfig.sh as the user jbosson-agent
    #
    sudo -u jbosson-agent /opt/jboss-eap/jboss-as/bin/start-myConfig.sh
  3. スクリプトで渡す引数または設定を使用して、開始 run.sh スクリプトを作成します。たとえば、start-myConfig.sh以下のようになります。
    nohup ./run.sh -c MyConfig -b jonagent-host 2>&1> jboss-MyConfig.out &