コア・ダンプの操作

コア・ダンプは、プロセスに障害が発生して途中で終了したときに生成されるファイルです。コア・ダンプには、プロセスのメモリーのイメージが含まれています。コア・ダンプを使用して問題をデバッグし、プログラムが終了したときにプログラムのステージを検査できます。コア・ダンプはオンデマンドで作成することも、終了時に自動的に作成することもできます。

コア・ファイルはコアとも呼ばれ、現在の作業ディレクトリに作成されます。コアの書込みは、作成先のディレクトリが読取り専用であるか、同じ名前のファイルがその場所に存在し、そのファイルが読取り専用であるか通常ファイルではない場合に失敗します。

コア・ダンプには、攻撃者が悪用できる情報が含まれている可能性があります。コア・ダンプは、大量のディスク領域を占有する可能性もあります。そのため、Oracle Linuxでは、デフォルトでコア・ダンプ機能が無効になります。これを行うには、コア・ダンプ・ファイルの最大サイズを0に制限します。次のulimitコマンドを使用して、システムの現在のコア・サイズを確認できます。たとえば、次のコマンドでは、端末の現在のユーザー・セッションのulimitサイズがデフォルト値の0に設定されていることが示されています:

ulimit -c
0
現在の端末セッションで実行されているアプリケーションに問題が発生した場合は、ulimit -cの値を0より大きい任意の整数に変更することで、そのセッションのコア・ダンプを有効にできます。次に例を示します:
ulimit -c 1000

リブート間で変更内容を保持するには、コア・ダンプへのアクセスを様々なユーザーやグループに制限または限定します。詳細は、limits.conf(5)マニュアル・ページを参照してください。

デフォルトでは、setuidおよびsetgidプログラム、資格証明が変更されたプログラム、およびコア・ダンプの読取り権限を持たないバイナリを含むプログラムが阻止されます。この設定がまだ無効になっていることを確認するには、次のコマンドを実行します:
sysctl fs.suid_dumpable

fs.suid_dumpable = 0は、その設定がまだ無効になっていることを示しています。

ノート:

これらのプログラムに対してダンプ・ファイルを有効にすることはお薦めしません。なんらかの理由でこれらのプログラムに対してダンプ・ファイルを有効にする必要がある場合は、fs.suid_dumpable値を1または2に設定することで、このダンプ・ファイルを有効にできます。値1は、ダンプ・プロセスの所有者から読取り可能なコア・ダンプを作成します。値2は、デバッグ目的でrootからのみ読取り可能なコア・ダンプを作成します。

コア・ダンプを一時的に有効にして不具合が生じているシステムをトラブルシューティングする方法の詳細は、『Oracle Linux 9: システムのモニタリングおよびチューニング』を参照してください。