Linux配置cron、at的安全性
指定允许或者拒绝的账号使用cron和at
创建对应文件:
白名单:
/etc/cron.allow
/etc/at.allow
黑名单:
/etc/cron.deny
/etc/at.deny
注意:
-
当 allow 文件存在时:
只有明确列在文件中的用户 能使用对应命令(crontab 或 at),其他所有用户(包括普通用户)均被拒绝。
若文件中仅包含 root,则 只有 root 可用,其他用户均被禁止。
若文件存在但是为空,则 所有用户(含 root)均被拒绝(需避免此配置)。
如果不需要使用白名单,建议删除.allow 文件 -
当 allow 文件不存在时:
系统转而检查 deny 文件(如 /etc/cron.deny),此时逻辑变为:
未被列在 deny 文件中的用户默认允许使用(宽松策略)。
如果白名单存在会优先使用白名单,而黑名单会被忽略,如果需要使用黑名单,就需要删除白名单文件
文件权限与格式要求
权限必须为 600:意思就是只能是所属用户 可读可写
touch /etc/cron.allow # 创建文件
touch /etc/at.allow
chmod 600 /etc/cron.allow /etc/cron.allow # 设置文件权限
chown root:root /etc/cron.allow /etc/cron.allow # 修改文件所属
chmod 600 /etc/cron.allow /etc/at.allow
chown root:root /etc/cron.allow /etc/at.allow
严格格式规范:
每行仅一个用户名,无空格/注释。如下:
root
user1
user2
系统怎么默认找到这两个文件的?
crond和at 服务在编译时直接写死了权限文件的路径, 服务启动后,会主动检查这些固定路径是否存在,而非动态查找
- 检查顺序:
当用户执行 crontab 命令时,crond 服务按以下顺序判断权限:
若 /etc/cron.allow 存在 → 仅允许文件中列出的用户。
若 /etc/cron.allow 不存在 → 检查 /etc/cron.deny,拒绝文件中列出的用户。
at同上

浙公网安备 33010602011771号