web-dev-qa-db-ja.com

/var/log/auth.logでCRONセッションが1時間ごとに開閉するのはなぜですか?

私はLinux全体として非常に新鮮なので、これはばかげた質問かもしれません-しかし、私はまだ答えを知りたいです

今朝、/ var/log/auth.log(習慣を付けるように言われました)を見ると、1時間に1回、次のようなイベントが記録されています。

     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に1時間ごとに発生しました。この期間(ログ全体が発生した)の間、このサーバーへのSSH接続は維持されます。私の最善の推測は、SSHクライアントがサーバーへのSSH接続への接続を検証する方法としてルートアクセスを取得できるかどうかを毎時間探しているということです-しかし、私は安全な側になりたいです。誰がこれが何であるか知っていますか?

44
Terje Gundersen

デフォルトの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は1時間ごとに起動し、/etc/cron.hourlyにあるスクリプトを実行します。あなたはおそらく何も持っていないので、何もしません。 run-parts を実行してからセッションを再度閉じるrootセッションを実行するだけです。

50
terdon

これらのログエントリは、crondデーモンがバックグラウンドでタスクを実行したときにPAMライブラリによって書き込まれました。 crondは、システムおよびシステム上のユーザーに代わって、スケジュールに従ってジョブを実行します。

すべてのユーザーは、独自のcrontab構成ファイルを持っています。これは、crontab -eコマンドで編集するか、crontab -lを使用して表示できます。システム管理者は、多数の/etc/ファイルおよびディレクトリを介してジョブを設定することもできます。 /etc/cron.d/は、サービスが独自の構成をドロップする簡単な場所を提供します。また、/etc/crontabは、hourlydaily、および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ログイン(/etc/pam.d/sshd)またはコンソールログイン(/etc/pam.d/login)とは異なる制限を適用できます。

14
sarnold