Linux提权系列8:揭秘Linux cron
2023-4-2 08:2:40 Author: 奶牛安全(查看原文) 阅读量:6 收藏

cron 与windows的计划任务相同。它是在 POSIX OS 以用户身份配置和执行计划任务的实用程序。

许多公司在其内部管理服务器上使用 cron 作业来执行定期维护或备份,通常以 root 用户,如果管理不善,可以通过滥用配置文件来控制组织。

查看cron服务是否运行

cron任务由系统上运行的服务编排。

命令的语法是 service <service-or-unit-name> start|status|stop|restart。因为在这种情况下,需要检查 cron 单元的状态,所以命令是,

service cron status

root 用户安排了多少个 cron 任务

当前用户的 cron 任务配置由称为 crontab 的命令管理。使用此命令,可以创建/删除/更新在普通文本文件配置的每一行中指定的 cron 任务。

要列出当前用户的 cron任务 ,请运行 crontab -l

# Edit this file to introduce tasks to be run by cron.
#
# Output of the crontab jobs (including erros) is sent through
# email to the user the crontab file belongs to (unless redirected)
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
MAILTO="[email protected]"
10 14 1 * * /usr/local/maintain.script
10 0 * * * /bin/backup.local >/dev/null 2>&1
10 4 * * sat /scripts/check-patches
10 0-23/2 * * * /bin/backup
0 20 * * 1-5 /scripts/update

可以看到有5个任务。要了解它们含义,先看一下crontab文件格式。

配置文件中的 # 用于在文件中的任何位置放置注释行。cron 服务将简单地忽略这一行并移动到下一行。

可以像在 shell 脚本中一样定义变量 VAR_NAME=VALUE。在本例中,它是 MAILTO=“[email protected]

* 或某个数字开头的每一行都被视为 cron 任务,cron 服务会执行它。最后一个注释行中看到的格式是定义 cron 配置的方式。它的最后一块是必须执行的命令,可以执行 bash 命令或环境变量中的任何文件或可执行文件的确切路径。

那么,就可以知道上面5个任务分别是什么:

  1. 每月1日14:10运行/usr/local/maintain.script
  2. 每天0:10运行/bin/backup.local >/dev/null 2>&1
  3. 每周六4:10运行/scripts/check-patches
  4. 每天每隔2小时的10分钟运行/bin/backup
  5. 每周一到周五的20:00运行/scripts/update

crontab 文件有一个特殊的变量 MAILTO,用于通过电子邮件发送 cron 作业的报告或日志。可以在 crontab 文件的第一行中定义它。

如果命令没有在标准输出或标准错误上产生任何输出,则不会通过邮件发送。实际上,这是crontab中的一项功能,用于禁用crontab上特定命令的电子邮件发送, 上面第二个任务就是实现这样的功能。

避免因配置错误的 cron任务而被入侵

永远不要使用 sudoroot 用户执行命令,并避免在工作中使用 SUID 二进制文件。一名合格的 bash 开发人员在创建 bash 脚本时在应该执行命令之前添加一些预检查,并防止它们被破坏,特别是这些脚本是加入到cron任务中。

请点一下右下角的“在看”,谢谢!!

暗号:9b021


文章来源: http://mp.weixin.qq.com/s?__biz=MzU4NjY0NTExNA==&mid=2247488894&idx=1&sn=4c656a740a39c330ef3be64adb22bbcb&chksm=fdf97e6bca8ef77dd3c491511e7d23830af14490a80953bc364f87cc4c7f0b3c0fcc1fec5f5a#rd
如有侵权请联系:admin#unsafe.sh