当crond
守护程序在后台运行任务时,这些日志条目由PAM库编写。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登录(/etc/pam.d/sshd
)或控制台登录(/etc/pam.d/login
)不同的限制。