Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
- Astra Linux Common Edition 2.12
Включение сохранения дампов приложений
В Astra Linux по умолчанию дампы памяти процессов запрещены. Проверить это можно следующей командой::
0
fs.suid_dumpable = 0
core
0 — максимальный размер файла дампа. Значение ноль указывает на то, что сохранение дампов запрещено;
fs.suid_dumpable = 0 — отдельно запрещено сохранение дампов программ, файлы которых имеют бит suid;
core — дампы должны сохранятьcя в файле с именем core в текущем каталоге ;
Для проверки сохранения дампов можно использовать выполнить команды:
killall -11 sleep
[1]+ Ошибка сегментирования sleep 20
однако дамп (файл core) при этом создан не будет.
Для того, чтобы разрешить сохранение дампов:- Временно разрешить сохранение дампов (действует до перезагрузки):ulimit -S -c unlimited
Для теста можно использовать приведенные ранее команды. Сообщение теперь будет выглядеть так:
[1]+ Ошибка сегментирования (образ памяти сброшен на диск) sleep 20
При этом в текущем каталоге будет создан файл core с дампом.
- Для того, чтобы разрешить дампы постоянно (вступает в действие после перезагрузки) добавить в файл /etc/security/limits.conf строку:/etc/security/limits.conf
* soft core unlimited
Например:
echo '* soft core unlimited' | sudo tee -a /etc/security/limits.confИ перезагрузить машину. Проверку после перезагрузки можно выполнить указанным выше способом.
При необходимости можно изменить иные параметры сохранения дампов:
Временно, до перезагрузки:
- Место размещение дампов. Например, в файле astra-dump в домашнем каталоге пользователя:echo "/home/$USER/astra-dump" | sudo tee /proc/sys/kernel/core_pattern
- Разрешить дампы программ suid (действует до перезагрузки, в целях тестирования):sudo sysctl -w fs.suid_dumpable=1Значения параметра suid_dumpable: https://sysctl-explorer.net/fs/suid_dumpable/.
- Место размещение дампов. Например, в файле astra-dump в домашнем каталоге пользователя:
- Постоянно пазрешить дампы программ suid после перезагрузки:echo "fs.suid_dumpable=1" | sudo tee /etc/sysctl.d/fs_suid_dumpable.conf
sudo sysctl -p --system
Дампы служб systemctl
Установить пакет systemd-coredump:
sudo apt install systemd-coredumpТест, например:
sudo kill -s SIGABRT `pgrep sshd`sudo coredumpctl
TIME PID UID GID SIG COREFILE EXE
Thu 2022-12-08 21:52:10 MSK 639 0 0 6 present /usr/sbin/sshd
Thu 2022-12-08 21:57:44 MSK 3738 0 0 6 present /usr/sbin/sshd
Дампы по умолчанию сохраняются в каталоге /var/lib/systemd/coredump.
При наличии в системе установленного отладчика для отладки можно использовать команды вида: