Назад | Перейти на главную страницу

CentOS: когда я использую SSH, создаются файлы core. *

Когда я подключаюсь по SSH к экземпляру сервера CentOS, я замечаю, что создаются следующие файлы:

11714560 14 сен 02:18 core.1084

Кто-нибудь знает, что это такое и, возможно, почему это происходит?

Файлы ядра - это признаки дампа ядра. Это означает, что программа вылетела из строя, и у вас есть дамп памяти программ во время создания дампа.

Вы можете предотвратить это, если поместите ulimit -c 0 в sysconfig - вы не получите файлы ядра. Но вы также должны сначала проверить, что дает сбой и почему - у вас могут возникнуть серьезные проблемы.

Узнать больше на http://aplawrence.com/Linux/limit_core_files.html

Команда:

gdb -c core.1084 

объяснит, в каком процессе произошел сбой и почему.

Возможно, есть какая-то программа с графическим интерфейсом, которая настроена для автоматического запуска в вашем .bashrc, которая дает сбой, когда у нее нет доступа к запущенному X-серверу.

У меня такая же проблема с настройкой CPanel. В моем случае бег

strings core.nnnn | less

показывает, что проблема может быть связана с ошибочной командой Perl. Это оскорбительный раздел /etc/bashrc (найдено с помощью grep'ing для perl в сценариях запуска):

if [ "$LOCALLIBUSER" != "root" ]; then
    eval $(perl -Mlocal::lib)
fi

Если я попробую бежать eval $(perl -Mlocal::lib) в консоли сбрасывает ядро, так что проблема определенно в этом.

Это достаточно распространенное явление, чтобы появился быстрый поиск в Google. эта тема, который не дает особых советов, кроме проверки модулей perl.

zladuric уже объяснил вам файлы ядра.

Возможно, у вас есть что-то, что каждый раз вылетает автоматически, например, в ~/.bashrc или ~/.profile файлы?

Проверьте file core.1084 - если это sshd что рушится, это может быть руткит, который заменил ваш оригинальный sshd бинарный или какая-то библиотека, используемая sshd.

Это грубый скрипт для проверки того, что двоичный файл и библиотеки, которые он использует контрольные суммы, соответствуют rpm база данных:

#!/bin/bash

{
  echo "$1"
  cd /lib
  ldd "$1" | cut -d ' ' -f 1 | xargs rpm -qf
  cd /usr/lib
  ldd "$1" | cut -d ' ' -f 1 | xargs rpm -qf
} 2>/dev/null | sort -u | xargs rpm -V