Почему я вижу сеанс CRON, открывающийся и закрывающийся каждый час в /var/log/auth.log?

46

Я полностью знаком с Linux в целом, так что это может быть глупый вопрос - но я все равно хотел бы знать ответ

Этим утром, когда я смотрю на свой /var/log/auth.log (который мне сказали сделать привычку), я замечаю, что раз в час регистрируется событие, которое выглядит так:

     May 13 20:17:01 Ubuntu-Server-1401-VM CRON[2280]: pam_unix(cron:session): session opened for user root by (uid=0)
     May 13 20:17:01 Ubuntu-Server-1401-VM CRON[2280]: session closed for user root

Затем это происходило каждый час в x: 17: 01, пока я не открыл журнал. SSH-соединение с этим сервером поддерживалось в течение этого времени (когда происходил вход в систему). Мое лучшее предположение состоит в том, что каждый час мой SSH-клиент проверял, сможет ли он получить root-доступ для проверки соединения с SSH-соединением с сервером, но я бы хотел быть на безопасной стороне. Кто нибудь знает что это?

Терье Гундерсен
источник

Ответы:

51

Если вы ничего не изменили из cronнастроек по умолчанию , это ваш /etc/crontabбег. На моем сервере Ubuntu 10.04.3 LTS его содержимое включает в себя:

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

Итак, cronпросыпается каждый час и запускает любые записки, расположенные в /etc/cron.hourly. У вас, вероятно, нет ничего, поэтому он ничего не делает. Он просто запускает rootсеанс, который выполняется, run-partsа затем снова закрывает сеанс.

Тердон
источник
1
отключил его, надо просто тратить ....
Тебе
16

Эти записи журнала были написаны библиотеками PAM, когда crondдемон запускал задачи в фоновом режиме. crondзапускает задания по расписанию от имени системы и пользователей в системе.

У каждого пользователя есть свой crontabфайл конфигурации, который можно редактировать с помощью crontab -eкоманды или показывать с помощью crontab -l. Системный администратор также может настраивать задания с помощью множества /etc/файлов и каталогов; /etc/cron.d/обеспечивает легкое место для услуг отказаться от своих собственных конфигураций, а также /etc/crontabдиски с hourly, dailyи weeklyкаталоги, а также прогонов независимо администратор может выбрать для запуска.

crondперед запуском заданий изменит пользователей на правильного пользователя (указанного в /etc/crontabфайле и /etc/cron.d/каталоге или из предоставленных пользователем crontabфайлов); он использует систему PAM для смены пользователей.

PAM предоставляет единое место для настройки различных способов проверки подлинности и авторизации пользователей и обеспечения настройки сеанса, а также предоставляет способ изменения паролей (или других токенов проверки подлинности). Каждый сервис, который использует PAM, имеет файл конфигурации, в /etc/pam.d/котором описывается, какие модули PAM использовать при входе пользователя в систему.

Мой /etc/pam.d/cronфайл выглядит так:

# The PAM configuration file for the cron daemon

@include common-auth

# Read environment variables from pam_env's default files, /etc/environment
# and /etc/security/pam_env.conf.
session       required   pam_env.so

# In addition, read system locale information
session       required   pam_env.so envfile=/etc/default/locale

@include common-account
@include common-session-noninteractive 

# Sets up user limits, please define limits for cron tasks
# through /etc/security/limits.conf
session    required   pam_limits.so

Это гарантирует, что ограничения, настроенные для пользователей, применяются к задачам пользователей, когда они запускаются через них cron. Если вы хотите изменить эти ограничения для каждой службы, вы можете настроить pam_limits.soв этом файле свой собственный conf=/etc/security/cron-limits.confи применить другие ограничения, чем ssh logins ( /etc/pam.d/sshd) или console logins ( /etc/pam.d/login).

sarnold
источник