首页/安全/安全加固速查/cron 与 at 使用限制(allow 白名单)
主机加固基线90 条

cron 与 at 使用限制(allow 白名单)

通过 /etc/cron.allow 与 /etc/at.allow 白名单只允许指定用户创建计划任务;依赖默认放开不是控制,白名单才是收敛姿态。

安全加固速查安全更新于 2026-10-12
加固项计划任务创建白名单
适用平台Linux(RHEL/CentOS/Debian/Ubuntu)
风险等级中
机制cron.allow / at.allow 存在且只列授权用户

加固:只允许 root 创建计划任务

加固:只允许 root 创建计划任务
printf 'root\n' > /etc/cron.allow
printf 'root\n' > /etc/at.allow
chmod 600 /etc/cron.allow /etc/at.allow
rm -f /etc/cron.deny /etc/at.deny   # allow 优先,deny 留着只会造成困惑

核查

核查
cat /etc/cron.allow /etc/at.allow 2>/dev/null
for u in $(cut -f1 -d: /etc/passwd); do crontab -l -u "$u" 2>/dev/null | grep -v '^#' | sed "s/^/$u: /"; done
建设白名单前先全量盘点现有 crontab(上一条命令),把真正依赖定时任务的账号纳入 allow,否则业务会在无人察觉时停掉。

易错点

  • allow 文件存在时多数发行版会忽略 deny;两套机制并存时要清楚以哪个为准
  • 用 sed 批量改 allow 文件容易写坏格式(每行一个用户名,不能有逗号),直接用 printf 简单可靠

数据来源与参考

  • cron.allow(5)、at.allow(5) 手册
  • CIS Linux Benchmark:Restrict at/cron to authorized users

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌