コア・ダンプの操作
コア・ダンプは、プロセスに障害が発生して途中で終了したときに生成されるファイルです。コア・ダンプには、プロセスのメモリーのイメージが含まれています。コア・ダンプを使用して問題をデバッグし、プログラムが終了したときにプログラムのステージを検査できます。コア・ダンプはオンデマンドで作成することも、終了時に自動的に作成することもできます。
コア・ファイルはコアとも呼ばれ、現在の作業ディレクトリに作成されます。コアの書込みは、作成先のディレクトリが読取り専用であるか、同じ名前のファイルがその場所に存在し、そのファイルが読取り専用であるか通常ファイルではない場合に失敗します。
コア・ダンプには、攻撃者が悪用できる情報が含まれている可能性があります。コア・ダンプは、大量のディスク領域を占有する可能性もあります。そのため、Oracle Linuxでは、デフォルトでコア・ダンプ機能が無効になります。これを行うには、コア・ダンプ・ファイルの最大サイズを0に制限します。次のulimitコマンドを使用して、システムの現在のコア・サイズを確認できます。たとえば、次のコマンドでは、端末の現在のユーザー・セッションのulimitサイズがデフォルト値の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: システムのモニタリングおよびチューニング』を参照してください。