GT.Mインストールスクリプトは、ルートの所有と setuid bit on
で、 gtmsecshr
をインストールします。 gtmsecshr
は、プロセス間通信を管理しプロセス間リソースをクリーンアップするためにGT.Mが可能なヘルパープログラムです。それは、root からのみの読み取りと実行可能である$gtm_dist/gtmsecshrdir
サブディレクトリにあります。 gtmsecshr
は、ラッパープログラムによって守られています。ラッパープログラムは、次の方法で gtmsecshr
を保護します:
rootとして動作していないプロセスは、ラッパーによって使用されるメカニズムも除いて、それにアクセスできないように gtmsecshr
へのアクセスを制限します。
環境変数は、 gtmsecshr
へのユーザ制御の入力であり、それらを不適切に設定すると、システムの動作に影響を与え、セキュリティ上の脆弱性を引き起こす可能性があります。これに反して gtmsecshr
自体をガードしながら、ラッパープログラムは、 gtm_dist
, gtmdbglvl
, gtm_log
, gtm_tmp
を除くすべての変数の環境をクリアすることと、プラットフォームのために最大許容長を超えた場合にそれらを切り捨てることによって、二重の保護を提供します。
gtmsecshr はメッセージをシステムログに記録します。これらのメッセージは、メッセージの一部としてGTMSECSHRファシリティ名で識別できます。GT.Mプロセスは環境変数 gtm_tmpで指定されたディレクトリにソケットファイルを介して gtmsecshr
と通信します。
gtmsecshr
は、非アクティブの60分後に自動的にシャットダウンします。通常、システムはセカンダリとプライマリ間の移行を作っている時でさえも、それをシャットダウンする必要はありません。 GT.Mのバージョンが削除されている時、 gtmsecshr
が明示的にシャットダウンする時、それが唯一の機会です - gtmsecshr
プロセスが実行しているGT.Mバージョンを含んでいるディレクトリが削除していることに属しているか、または、新しいGT.Mのバージョンが既存のものとして同じディレクトリにインストールしている時の、どちらかです。
注意 | |
---|---|
既存のGT.Mのバージョンの上に新しいGT.Mのバージョンをインストールしないことを、FISは強く推奨しています。 |
gtmsecshr
のプロセスを終了するには、すべてのGT.Mプロセスをシャットダウンした後に KILL-15
を使用してください、そして、そのディレクトリ内のGT.Mによって使用しているすべての データベース領域をランダウンしてください。
重要 | |
---|---|
GT.Mの特定のバージョンを使用するすべてのGT.Mプロセスが |
もしシステム上でアクティブな複数のGT.Mのバージョンが存在する場合、 gtm_tmp
と gtm_log
の異なる値が、それぞれのバージョンごとに使用することを、FISは推奨します。お勧めします。これは、システム管理が容易になります。
注意 | |
---|---|
指定されたデータベースファイルは、ある時点でGT.Mの単一のバージョンのプロセスによってのみ開くことが可能です。 GT.Mの現在のリリースでは、GT.Mの異なるバージョンで実行しているプロセスによってGT.Mファイルへの同時アクセスに対して保護します。GT.Mの過去バージョンがこの状態に対して保護しないので、同時使用するようなことがデータベースへ構造的な損害を引き起こす可能性があるので、GT.Mの古いバージョンがインストールされアクティブになっているシステム上で、複数のバージョンのプロセスによる不注意な同時アクセスに対して手順上の保護することを、FISは推奨しています。 |