【Linux】(12)计划任务:来看看如何防止黑客利用计划任务窃取信息以及背后的原理

目录

一、计划任务

1.1 【导入】游戏服务器资源分析

        1.2 为什么需要计划任务

        1.3 Linux里的计划任务

        1.4 创建计划任务

        1.4.1 cron命令格式

         1.4.2 时间数值的表示方法

        1.4.3 实例+具体操作

        1.4.4 普通用户创建计划任务

        1.4.5 练习

        1.5 同一时间可以做多个计划任务吗

        1.6 如何判断计划任务是否执行

        1.6.1 直接看效果

        1.6.2 看日志文件

        1.7 前台、后台

        1.8 【黑客可能利用】计划任务的顺风车

        1.8.1 操作系统的后台工作开展需要的计划任务存放在哪里

        1.9 anacron服务

二、思考

        2.1 每个用户都有自己的计划任务

        2.2 这个用户没有登录是否计划任务也会执行?

        2.3 root用户是否可以去管理其他用户的执行计划

        2.4 🖤黑客是否会利用计划任务,如何排查?

         2.5 计划任务里脚本尽量使用绝对路径

三、练习(最后来巩固以下所学吧)

        3.1 练习1

         3.2 练习2

        3.3 思考题

四、【补充】随机数


一、计划任务

按照计划准时准点去执行任务

任何脚本都可以配合计划任务来执行,做到定时完成某些事情

1.1 【导入】游戏服务器资源分析

        1.2 为什么需要计划任务

可以自动执行,不需要人干预,解放了人力,提高工作效率

        1.3 Linux里的计划任务

        crond进程:负责Linux里执行计划任务的程序,在内存里一直运行的程序(守护进程)。不要关闭

        每隔一分钟去检查Linux系统里的计划任务,最短时间间隔:一分钟

使用crontab命令调用crond进程,设置按固定周期(如每天、每周等)重复执行预先计划好的任务。

#查看crond进程是否存在
[root@localhost ~]# ps aux|grep crond
root        698  0.0  0.1 126384  1672 ?        Ss   15:46   0:00 /usr/sbin/crond -n
root       1857  0.0  0.0 112824   988 pts/0    R+   16:58   0:00 grep --color=auto crond
#重启
[root@localhost ~]# service crond restart
Redirecting to /bin/systemctl restart crond.service
#停止
[root@localhost ~]# service crond stop
#在centos7中真正执行的命令
Redirecting to /bin/systemctl stop crond.service
#启动
[root@localhost ~]# service crond start
Redirecting to /bin/systemctl start crond.service

【注】systemctl stop crond和service crond stop时等价的

        1.4 创建计划任务

(Linux系统里可以定制很多计划任务,一行一个计划任务)

crontab是创建计划任务的命令

crontab -e 编辑计划任务

crontab -l 查看计划任务

        1.4.1 cron命令格式

【格式如下:15行】

[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

[root@localhost ~]#

        *    表示任意时间

         1.4.2 时间数值的表示方法

        【翻译时间从右到左】

===示例

0 17 * * 1-5 ==》周一到周五每天17:00

30 8 * * 1,3,5 ==》周一、三、五的8:30

0 8-18 * * * ==》每天8点到18点整

0 12 */3 * * ==》每隔3天的12点整

===

        1.4.3 实例+具体操作

【题目】

每天23:00备份一次,使用计划任务执行

备份脚本:/root/lianxi/backup_log.sh

【步骤】

[root@localhost lianxi]# crontab -e

第一步:按i进入计划任务的编辑模式,输入以下内容

0 23 * * * /root/lianxi/backup_log.sh

第二步:按Esc,输入:wq 退出并且保存

[root@localhost lianxi]# crontab -l 查看计划任务

0 23 * * * bash /root/lianxi/backup_log.sh

        1.4.4 普通用户创建计划任务

1. lihua用户自己创建计划任务

[root@localhost cron]# su - lihua
上一次登录:三 3月 16 21:55:16 CST 2022pts/0 上
[lihua@localhost ~]$ crontab -e

2. root用户帮助lihua用户创建计划任务

[root@localhost cron]# crontab -e -u lihua

        1.4.5 练习

  1. 每隔一分钟新建一个文件夹,这个文件名里需要包含当前时间,精确到秒
  2. 新建的文件夹保存在/root/lianxi/sanchuang
  3. 脚本名字create_dir.sh

        需求分析

  1. 编写脚本实现新建文件夹,名字里包含当前的时间,精确到秒==》mkdir 和 date +%Y%m%d%H%M%S
  2. 脚本名字create_dir.sh,存放在/root/lianxi/sanchuang
  3. 制定计划任务,实现每一分钟执行上面的create_dir.sh脚本

        【答案】

时间格式==》*/1 * * * * bash /root/lianxi/sanchuang/create_dir.sh 或 * * * * * bash /root/lianxi/sanchuang/create_dir.sh

[root@localhost sanchuang]# vim create_dir.sh
[root@localhost sanchuang]# cat create_dir.sh
#!/bin/bash

#获得当前时间
ctime=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值