bfagent.conf ファイルには、Build Forge エージェントの動作に関する設定が保管されています。このファイルは、bfagent 実行可能ファイルと同じディレクトリーにあります。
- 設定
- activity_log path
- アクティビティー・ロギングをオンにします。情報は、path で指定されたファイルに追加されます。パスの存在が必要であり、またエージェントのユーザーがそのパスに対する書き込み権限を所有している必要があります。
注: パスが存在しないか、ファイルへの書き込みができない場合、エージェントはエラーを報告しません。
重要: ファイル・サイズに制限はありません。ファイルの削除は手動で行う必要があります。この設定は、
エージェントのデバッグを行うために一時的に使用することを目的としています。稼働中のエージェントの永続ログとして使用するためのものではありません。
- allow IP-address-or-range [...]
- 以下の場合にのみ、この設定を使用します。
- エージェントが Windows 上で実行されている場合。
- 始動時に -s オプションが使用されている場合に、エージェントが UNIX または Linux 上でスタンドアロン・モードで実行されている場合。
この設定は、エージェントに対する接続に制限を加えます。
IP-address-or-range に一致する IP アドレスからの接続のみが許可されます。
デフォルトではすべてのアドレスからの接続が許可されています。
以下の項目のいずれかまたは両方を指定します。
- IP アドレス: IPv4 または IPv6 の完全修飾アドレス。例えば、IPv4 の 255.192.192.003 などです。
特定の IP アドレスが許可されます。
- IP アドレス範囲: IPv4 または IPv6 の部分修飾アドレス。
例えば、IPv4 の 192.168 または 192.168.63 などです。
この制限に一致するすべての IP アドレスが許可されます。
注: inetd や xinetd などのスーパーサーバー上でエージェントを実行している場合は、別の方法でアクセスを制御してください。
ファイアウォール、TCP ラッパー (hosts.allow および hosts.deny)、または xinetd の組み込みのフィルター機能などを使用できます。
- bind
- この設定を使用して、エージェントの明示的なバインド・アドレスを指定できます。この設定と「port」設定を一緒に
使用することにより、-s コマンド行オプションを指定してエージェントを開始したときに、エージェントが接続を listen する方法を決定できます。bfagent.conf ファイルに指定された値により、エージェントは IPv4 ローカル・ホスト・アドレスにバインドされます。これにより、エージェントは同じコンピューター上にあるコンソールからの接続だけを受け入れます。例えば、bind 255.192.192.003 などです。
注: この設定は、システムのサービス・アーキテクチャー (inetd、xinetd、または launchd など) によって開始された Windows または UNIX のエージェントには作用しません。
- ccviewroot root-path
- この設定は、このホストのデフォルトのビュー・ルートを指定します。
詳しくは、ClearCase の資料に記載されている init の説明を参照してください。
内部デフォルト値は以下のとおりです。
- Windows: ccviewroot M:
- UNIX または Linux: ccviewroot /view
- cc_suppress_server_root
- これを設定した場合、ビューのパスは ccviewroot によって設定されたパスになります。
設定していない場合は、ccviewroot によって設定されたパスに、サーバー定義で設定されたパスが付加されます。
この設定に値は必要ありません。
bfagent.conf にこの設定があれば、設定されていることになります。
- command_output_cache size
- この設定により、指定のサイズ (バイト単位) に達するまで、エージェントが出力をキャッシュに入れるようになります。
キャッシュ用の内部デフォルト値はありません。キャッシュを使用すると、エージェントのパフォーマンスが大きく向上し、ネットワークのオーバーヘッドが削減されます。
キャッシュ・サイズは、コマンドが生成する出力の量によって異なります。
最小値: 2048。2048 という値は、設定値がそれより小さい場合に内部的に使用されます。
- cygwin
- この設定は、エージェントが Windows 上にある場合にのみ使用します。
この設定により、Windows ホスト上で、Linux に似た環境である Cygwin を使用してエージェントが動作するようになります。
Cygwin を使用すると、エージェントで数多くの Linux 用ツールを使用することができます。
この設定を使用する際、cygwin_script_magic およびシェルの設定も必要になる場合があります。これらの設定を構成する方法の 1 つとして以下の例を示します。
cygwin
shell C:¥cygwin¥bin¥bash.exe --login -c "%s"
cygwin_script_magic #!/bin/bash
shell の設定は、Cygwin のインストール場所と一致していなければなりません。
- cygwin_script_magic
- この設定は、エージェントが Windows 上にある場合で cygwin が設定されているときにのみ使用します。
この設定は、ステップを実行するときに使用する #! 行を指定します。
デフォルトは #!/bin/bash です。
- default_logon_domain
- 認証要求にドメインが含まれていない場合に使用するドメインを指定します。
指定がない場合、エージェント・コンピューターのドメインが使用されます。
- disable_telnet_support
- 最良の結果を得るために、エージェント接続のテストには Telnet を使用します。
- エージェントの場合、Telnet の制御シーケンスの処理および正しい取り扱いに関連して、いくらかの処理オーバーヘッドが必然的に発生します。
- この設定を使用して、エージェントが特殊な Telnet 文字コードを処理しないようにすることで、わずかにパフォーマンスを向上させることができます。
実稼働環境では、パフォーマンスの向上というメリットを得るためにこの設定を使用します。
- disable_transcode
- オペレーティング・システムが UTF-8 エンコードを使用していない場合に、エージェントが国際データを変換するために実行する処理をオフにします。
エンコードの混合とデータ破壊を防ぐには、エージェントのオペレーティング・システムで UTF-8 を使用します。
- オペレーティング・システムが UTF-8 エンコードを使用していない場合、エージェントが、オペレーティング・システムのロケール設定に合った正しいエンコードにデータを変換する必要があります。
- ご使用のオペレーティング・システムが UTF-8 を使用していない場合、この設定を使用して、最良の結果を得るとともに、エージェントのパフォーマンスの向上を図ります。
- enable_agent_dll
- この設定により、DLL プロセスのトレース (デバッグ・ツール) が有効になります。
- env_recursion_limit number-of-recursions
- 事前構文解析における変数置換の再帰上限数を設定します。
設定されていない場合の上限数は 32 です。
- extensions
- この設定は、外部関数ライブラリーのパスを指定します。
関数は、ステップ内でドット・コマンドとして使用することができます。
この設定が指定されていない場合は、外部ライブラリーはロードされません。
構文解析時、ステップ・コマンド内の最初のトークンは関数名として認識されます。
2 番目のトークンはストリング、3 番目のトークンは整数によるタイムアウト値 (秒単位) です。
要件: オペレーティング・システムがダイナミック・ローダーをサポートしていること。
例えば、UNIX または Linux では、/usr/include/dlfcn.h が必要になります。
以下のデフォルト値は内部で使用されます。
- UNIX または Linux: /usr/local/bin/bfextensions.so
- Windows: C:¥program files¥ibm¥build forge¥agent¥bfextensions.dll
- getaddrinfo_using_addrconfig
- この設定は、UNIX または Linux のオペレーティング・システム上で、エージェントをスタンドアロン・サービスとして実行する場合 (bfagent -s) にのみ使用します。この設定を使用すると、getaddrinfo() を呼び出して listen インターフェースを選択する際に、エージェントが AI_ADDRCONFIG を使用するようになります。
デフォルトでは、AI_ADDRCONFIG は使用されません。
この設定を使用すると、アドレスが正しく構成されていないインターフェースをエージェントが無視するようになります。
正しく構成されたアドレスを持つインターフェースのみが listen されます。
- gsk_ssl_key_location [ <kdb_path> | <SAF_specification>]
- kdb ファイルの絶対パスまたは SAF 鍵リング仕様のいずれかを指定します。
- gsk_ssl_kdb_password <password>
- kdb ファイルのパスワード。
非暗号化テキストでも暗号化テキストでも構いません。
SAF 鍵リングが使用されている場合は、NULL を使用してください。
暗号化されたパスワードを非暗号化テキストから作成するには、bfagent -e <plaintext> を使用してください。
- gsk_ssl_protocol <protocol>
- 使用するプロトコルで、ALL (デフォルト)、SSLV2、SSLV3、TLSV1、または TLSV1_1 のいずれかです。
- gsk_ssl_cipher_v2 <seed>
- システム SSL バージョン 2 (SSLV2) に使用する暗号スイート。
デフォルト値は 6321 で、これが多くのアプリケーションに適しています。
詳しくは、System z に関する資料を参照してください。
- gsk_ssl_cipher_v3 <seed>
- システム SSL バージョン 3 (SSLV3) に使用する暗号スイート。
デフォルト値は 0906030201 で、これが多くのアプリケーションに適しています。
詳しくは、System z に関する資料を参照してください。
- gsk_keyring_label <label>
- kdb ファイルの鍵ラベル。
- gsk_password_encrypt [true | false]
- 暗号化されたパスワードを参照するために使用されます。
true に設定されている場合、暗号化された値を
bfagent -e <plaintext> で作成し、gsk_ssl_kdb_password を設定してください。
デフォルトで、これは false に設定されています。
- gsk_ssl_client_authentication [true | false]
- クライアント証明書を検証するかどうかを指定します。
デフォルトは false です。
- lang lang-code
- この設定は、管理コンソールで有効な言語が提供されない場合にのみ使用します。
この設定は、エージェントがメッセージおよびコマンド出力を書き込むために使用する言語を指定します。
エージェントは、管理コンソールで指定する言語を使用するため、
通常、これは明示的に設定されません。ただし、希望のロケールがコンピューターで使用できない場合は、
言語の設定が役に立つことがあります。また、管理コンソールが言語を伝達できない場合や、
無効な言語を伝達する場合には、バックアップとしても役立ちます。
内部のデフォルト値は en です。次のような明示的設定がある場合と同様の動作になります。
- leave_tmp_file
- トラブルシューティング時にのみこの設定を使用します。
この設定を使用すると、
コマンド実行後に、ステップ・コマンドを保持するために使用する一時ファイルが削除されずに
保存されるようになります。トラブルシューティングの際、このファイルは、管理コンソールにステップが表示されたときに、
そのステップと比較することができます。
注: 通常の操作時にはこの設定を使用しないでください。
- locale locale-code.charset-code
- この設定は、UNIX および Linux オペレーティング・システムの場合にのみ使用します。
Windows によるロケールの処理は、異なります。
この設定は、ローカライズされたアプリケーションが使用する言語
およびマルチバイト文字セットを指定します。この設定を行うには、エージェント・コンテキストの
LANG 環境変数を設定します。
コマンド出力を米国英語の UTF-8 として処理するようにエージェントをセットアップするには、オペレーティング・システムで UTF-8 のロケールを使用します。
例えば、Linux の場合は、以下の表記を使用します。
locale en_US.UTF-8
ご使用のオペレーティング・システムの UTF-8 ロケールの正しい表記を確認するには、locale -a コマンドを実行します。
この設定が指定されていない場合、
エージェントはオペレーティング・システムのロケールを使用します。この設定は便利です。
オペレーティング・システムのデフォルト・ロケールが、エージェントで使用したい
ロケールではない場合、この設定が特に役に立ちます。また、エージェントの要件を満たすようにシステム・ロケールを
変更することが実用的ではない場合にも、この設定は非常に有用です。
- magic_login user:encoded-password
- エージェントは通常、管理特権 (root や admin など) を使用してオペレーティング・システムにログオンします。
magic_login 設定は、標準的なシステム認証の代替となる方法です。
この設定により、単一のユーザー名およびパスワードを使用したユーザーのログインを、システムが認証できるようになります。
エージェントが root ユーザーまたは admin ユーザーとして実行された場合、この設定は無視され、通常の認証が試行されます。
エージェントは、ログインに使用されたユーザー名ではなく、そのエージェントを開始したユーザーの権限を使用して、すべてのコマンドを実行します。
この設定は、以下の状態の場合のみ使用します。
- 管理特権を持ったエージェントの実行が不可能な場合。
例えば、PAM を使用しない UNIX システムでこの設定を使用します。
- 管理特権を持ったエージェントの実行が許可されない場合 (セキュリティー・ポリシー上の理由)。
エージェントのログインを構成するには、以下のようにします。
- ユーザー名およびパスワードを使用するサーバー認証を作成します。
管理コンソールで、とクリックします。
- この例の場合、ユーザー名は build、パスワードは MySecretPassword です。
- エージェントを使用するサーバーを作成します。
「認証」フィールドで、サーバー認証をこのサーバーと関連付けます。
- エージェントのエンコード済みパスワードを生成します。
エージェントのインストール・ディレクトリーで、選択したパスワードを指定して bfagent -P を実行します。
以下のように、SMD5 でハッシュ・エンコードされたパスワードが返されます。
bfagent -P "MySecretPassword"
eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
- BFAgent.conf で、希望のユーザー名およびエンコード済みパスワードを使用するように magic_login を設定します。
magic_login build:eca0b7f2f4fbf110f7df570c70df844e1658744a4871934a
- エージェントを開始します。
- サーバー接続をテストします。
「サーバー」でサーバーを選択し、「サーバーのテスト (Test Server)」をクリックします。
- map drive-and-user-spec[; ...]
- この設定は、マップされたドライブを指定します。一部のシステムでは、ドライブ・マッピングが必要になることがあります。
例えば、シェルを共用ドライブから実行するという理由から、ドライブ・マッピングが必要になる場合があります。エージェントに指定されたマッピングは、管理コンソールで _MAP 環境変数に指定されたマッピングよりも先に実行されます。
2 つのドライブ・マッピングの例を次に示します。
map X:=//host1/share;Z:=//host2/share(username,password)
- map_drive_is_failure
- この設定を指定した場合、マップされていないドライブ指定が検出された際に、ステップが実行前に失敗します。
この設定が指定されていない場合、エージェントはドライブの障害を無視して、ステップの実行を試みます。
その場合、障害によって重要なエラー・メッセージが生成されることを確認します。
- no_preparse_command
- この設定は、コマンドをシェルに渡す前に、通常エージェントがコマンドに対して実行する変数展開構文解析を無効にします。
単一のプロジェクトまたはステップに対して使用可能な _NO_PREPARSE_COMMAND 環境変数も参照してください。
- no_pty
- この設定は、エージェントが UNIX または Linux システム上で実行されている場合にのみ使用します。
この設定を使用して、シェルがエージェントの疑似端末と相互作用する際に、
システム・シェルがロックされるのを防ぐことができます。この設定は、通常、HP-UX および z/OS で使用します。
このタイプのロックを防止するには、この設定の他に、以下の 2 つの方法を使用できます。
- 代替シェルを使用する
- nologonshell 設定を使用する
no_pty 設定は、疑似端末の割り振りを無効にします。
注: no_pty の使用は、一部のコマンドに影響を及ぼします。例えば、ls コマンドでは、出力が 3 列ではなく、1 列で返されます。
この設定を使用する場合は、実稼働環境にジョブをデプロイする前に、入念なテストを行ってください。
- nologonshell
- この設定は、エージェントが UNIX または Linux 上で実行されている場合にのみ使用します。
この設定は、エージェントで実行するシェルが、ログオン・シェルではなく、通常のシェルになるようにします。
この設定が役に立つのは、主に以下の場合です。
- ログオン・シェルが冗長出力を生成する場合
- ログオン・シェルが望ましくない方法で環境設定を変更する場合
- ログオン・シェルがユーザーと対話式に通信しようとする場合
これを設定した場合、シェルがログオン・シェルではなく通常のシェルであることを要求する標準的な方法が使用されます。
これは、必ずしもすべてのプラットフォームで機能するとは限りません。このような場合は、
shellflag 設定を使用して、その動作を変更するためにフラグをシェルに渡すことができます。
これらの動作は、エージェントにとって好ましくありません。ユーザーが対話式ユーザーでないユーザーとして実行されるためです。
注: Mac OS X 10.5 システムは、/bin/bash を使用します。/bin/bash は、nologonshell には応答しません。
shellflag -l を使用してください。
注: z/OS オペレーティング・システムでは、ログオン・シェルと非ログオン・シェルの両方に対して、常に /etc/profile スクリプトを使用します。
シェルの動作がエージェントでうまく機能しない場合、必要に応じてスクリプトの内容を変更したり、別のシェルを使用してください。
shellflag 設定も参照してください。
ログオン・スクリプトの動作の変更には、フラグを使用することができます。
- password_encrypt_module dll_path;conf_path
- エージェントで SSL を使用可能にする場合に必要になります。この設定は、DLL および構成ファイルのパスを指定します。
- dll_path は bfcrypt.dll のパスです (通常、これは ./bfcyrpt.dll です)。
- conf_path は bfpwcrypt.conf のパスです (通常、これは ./bfcrypt.conf です)。
- port port-number-or-range [...]
- この設定は、始動時に -s オプションを実行したときに、UNIX または Linux 上でスタンドアロン・モードで実行されているエージェントでのみ使用します。
この設定は、エージェントが管理コンソールとの接続を listen するために使用するポートを指定します。
エージェントが管理コンソールとの接続で listen するポートを指定します。
注: このポートは、デフォルトで 5555 に設定されています。
UNIX または Linux の場合、この設定は /etc/services にあります。
- read_timout
- エージェントが切断されるまでに要求を待つ時間 (秒)。
デフォルト値は 1800 秒 (30 分) です。
タイムアウトを無効にするには、この値を 0 に設定します。
このディレクティブは、正規のエンジン要求を受け取っていない場合に、クライアント接続接点がポートを開いたままにしないようにするために役立ちます。
一部のネットワーク・ポート・スキャンニング・ソフトウェアがこのような動作をします。
このディレクティブには小さすぎる値を設定しないでください。
通常のエンジン動作には、要求間に数分のギャップがあるためです。
- shell shell_name [options]
- この設定は、デフォルトのシェルを指定します。
内部デフォルト値は以下のとおりです。
- Windows: 以下の設定値が使用されない場合は shell cmd.exe /q /c "%s"。
- cygwin 設定値が使用される場合は、デフォルトは shell
C:¥cygwin¥bin¥bash.exe --login -c "%s" です。
- cygwin 設定値が使用されない場合は、デフォルトは
shell cmd.exe /u /q /c "%s" です。
- UNIX または Linux: ユーザー・アカウントに対して設定されたシェル、または、ユーザーのシェルを判別できない場合には、/bin/sh。
この設定ではパラメーターを指定できないことに注意してください。ただしパラメーターを受け渡す shellflag 設定は使用できます。エージェントは、ハイフンを挿入することによって、自動的にデフォルト値がログオン・シェルになるようにします。
例えば、/bin/ksh は -ksh として送信されます。
明示的に shell を設定すると、暗黙的に nologonshell が設定されます。
nologonshell を参照してください。
- System i: shell 値を /bin/sh に設定します。
この設定は、ステップ内から指定変更することができます。
#! を含む行から始まるステップによってシェルの設定が指定変更され、nologonshell 設定を使用してステップ・コマンドが実行されます。
- shell_compatible_undef_vars
- この設定は、未定義の変数を強制的に空ストリングとして表示します。
これが設定されていない場合、表示は、$VAR、${VAR}、または %VAR% 形式の変数の場合は変数名、$[VAR] の場合は空ストリングになります。
- shellarg
- この設定は、エージェントが UNIX または Linux 上で実行されている場合にのみ使用します。
コマンドがごちゃまぜになっているように見える場合は、この設定を使用します。
Red Hat Linux Enterprise の一部のシェルは、この設定を必要としています。
この設定によりシェルにコマンド・スクリプトを渡す方法が変更されます。通常、スクリプトは、次のように標準入力を使用して渡されます。
/bin/sh < /tmp/bfshellscript.sh
この設定を使用すると、次のように、スクリプトをパラメーターとして渡すことでスクリプトが実行されるようになります。
/bin/sh /tmp/bfshellscript.sh
- shellflag flag
- この設定は、エージェントが UNIX または Linux 上で実行されている場合にのみ使用します。
この設定は、シェルが実行されているときにフラグを追加します。
指定できるフラグは 1 つのみです。
通常、この設定は、出力または不要な処理を削減するため rc スクリプト処理を無効にする場合に使用されます。例:
- csh および派生物: shellflag -f を使用して、rc スクリプト処理を無効にします。
- bash: shellflag --noprofile を使用して、プロファイル・スクリプト処理を無効にします。
- ssl_ca_location path
- 認証局を含む鍵ストア・ファイルを指定します。エージェントがサービスとして実行される場合は、絶対パスを使用します。
- ssl_cert_location path
- プライベート証明書を含む鍵ストアを指定します。
エージェントがサービスとして実行される場合は、絶対パスを使用します。
- ssl_client_authentication [true | false]
- エージェントへの接続が行われるときにクライアント認証を必要とする場合に、true に設定します。
true に設定した場合、Build Forge エンジンの証明書をエージェントの認証局の鍵ストアに追加する必要があります。
- ssl_cipher_group [grouplist | ALL]
- 使用する個々の暗号グループを指定します。ALL (すべて) に設定することができます。
- ssl_cipher_override cyphers
- 暗号グループを指定変更します。使用する暗号を指定してください。
- ssl_key_location path
- 鍵を含む鍵ストア・ファイルを指定します。エージェントがサービスとして実行される場合は、絶対パスを使用します。
- ssl_key_password password
- 鍵のパスワードです。このプロパティーは、デフォルトでは平文で保管されます。独自の鍵または Build Forge サーバーの鍵を使用してこのパスワードを暗号化するようにエージェントを構成することができます。
- ssl_protocol protocol
- 使用する SSL ハンドシェーク・プロトコルで、SSL、SSLv2、SSLv3、SSL_TLS、TLS、または TLSv1 のいずれかです。プロトコルは、Build Forge サーバーが使用するプロトコルと一致しなければなりません。
- update_path path
この設定は、Build Forge エージェントの実行可能ファイルの絶対パスを指定します。
これは、インストール時に自動的に設定されます。
設定されるディレクトリーは、オペレーティング・システムのデフォルト・ディレクトリー、またはユーザーが指定したインストール・ディレクトリーです。
注: この設定は、Windows のエージェントでは無視されます。更新パスはレジストリー・キーから取得されます。このキーはエージェントのインストール時に設定されます。