Вопрос или проблема
В настоящее время я использую RHEL7. Мне не удалось найти окончательное объяснение, как отключить файлы core dump. Я могу ограничить количество создаваемых файлов core dump, но не знаю, как полностью их отключить. Я ограничил количество создаваемых файлов core добавив
kernel.core_uses_pid = 0
kernel.core_pattern = core
в /etc/sysctl.conf
и выполнив sudo sysctl -p
Это ограничивает генерацию файлов core до одного файла, который переписывается каждый раз при создании core dump. Но я бы хотел полностью остановить создание этого файла. Спасибо!
РЕДАКТИРОВАТЬ: Я также попробовал следующее:
Добавить строку Storage:none
в
/etc/systemd/coredump.conf
Это ничего не изменило, файлы core по-прежнему создаются.
Я думаю, что генерация core dump связана с ABRT. Можешь проверить, запущены ли следующие службы?
systemctl status abrtd
systemctl status abrt-ccpp
Если они запущены, остановите и отключите их (systemctl stop / disable).
Согласно STIGs (RHEL 7 V-72057), это покрывается dump.service
. Вы можете проверить, активен ли он, с помощью следующего:
Убедитесь, что ядро core dumps отключено, если они не требуются.
Проверьте статус службы "kdump" с помощью следующей команды:
# systemctl status kdump.service kdump.service
- Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled)
- Active: active (exited) since Wed 2015-08-26 13:08:09 EDT; 43min ago
- Main PID: 1130 (code=exited, status=0/SUCCESS) kernel arming.
Если файлы core kernel не требуются, отключите службу “kdump” с помощью следующей команды:
systemctl disable kdump.service
Ответ или решение
Чтобы полностью отключить генерацию core dump файлов в RHEL7, можно выполнить несколько шагов, учитывая различные уровни системы, которые могут быть задействованы в этом процессе.
1. Настройка ulimit
Ограничение на создание core dump файлов можно установить посредством ulimit. Для этого измените файл /etc/security/limits.conf
, добавив следующие строки:
* hard core 0
Это установит системное ограничение, которое запрещает всем пользователям создавать core dump файлы.
2. Настройка sysctl
Вы уже внесли изменения в sysctl.conf
, но учтите, что можно также использовать следующее, чтобы остановить создание core dump файлов:
fs.suid_dumpable = 0
Эти изменения применяются командой:
sudo sysctl -p
3. Отключение ABRT
ABRT (Automatic Bug Reporting Tool) может быть ответственным за генерацию core dump файлов. Проверьте статус его служб:
systemctl status abrtd
systemctl status abrt-ccpp
Если они активны, остановите и отключите их:
sudo systemctl stop abrtd
sudo systemctl disable abrtd
sudo systemctl stop abrt-ccpp
sudo systemctl disable abrt-ccpp
4. Отключение службы kdump
Проверьте статус службы kdump
, чтобы убедиться, что она не активна, если вы не планируете использовать функции аварийного восстановления ядра:
systemctl status kdump.service
Если она активна, отключите ее:
sudo systemctl disable kdump.service
Это отключит механизм ядра, отвечающий за создание core dump файлов при сбоях.
Заключение
Следуя вышеуказанным шагам, вы можете полностью отключить генерацию core dump файлов в вашей системе RHEL7. Эти изменения помогут оптимизировать безопасность и производительность системы, исключив ненужные файлы. Не забудьте проверить все изменения для правильного применения и протестировать их в безопасной среде перед развертыванием в продакшене.