前言
本篇将简述的内容:Linux系统下的Crond计划任务和用户权限提升
一、什么是计划任务
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
1.一次性任务
命令词:at
查看服务状态:systemctl status atd
书写at任务之前要查看系统时间:
date或者hwclock
格式
at time[HH:MM] date[yyyy-mm-dd]
示例
at 23:00 at>mkdir /root/dir2300
退出shell
[ctrl+d]
运行以下命令来查看at任务的列表:
atq
此命令将显示当前计划执行的at任务的列表。每个任务都有一个唯一的任务号。
从at任务列表中选择你要查看的任务号。
运行以下命令来查看所选任务的具体内容:
at -c 任务号
将"任务号"替换为你要查看的任务的实际任务号。这将显示任务的详细信息,包括命令、执行时间和标准输出等。
例如,如果你要查看任务号为1的任务的具体内容,可以运行以下命令:
at -c 1
这个命令将显示任务号为1的at任务的详细信息。
需要注意的是,at任务默认存储在/var/spool/at目录下,每个任务都有一个以任务号命名的文件。你也可以直接在该目录下查看特定任务的文件,以查看任务的具体内容。
运行以下命令删除at任务:
atrm 编号
2.周期性任务
(一)在/etc/crontab文件中写入计划任务
格式
* * * * * username command
分 时 日 月 周
案例:
0 23 * * * root rm -rf /root/crontest/*
(二)使用crontab命令编辑计划任务
编辑任务
crontab -e
查看任务
crontab -l
删除任务
crontab r
指定运行任务的用户
crontab -u
格式:
* * * * * command绝对路径
所有用户定义的crontab都会被保存在/var/spool/cron目录中,文件名会以用户名命名.
案例:
crontab -e -u a1
10 11 * * * /usr/bin/touch /home/a1/test.txt
指定用户a1每天11:10在/home/a1/目录内创建一个名为test.txt的文件。
二、用户提权
1.什么是用户提权
用户权限提升是指在执行某些需要超级用户权限(root权限)才能进行的操作时,普通用户通过使用sudo命令来获得临时的超级用户权限。
2.su与su -
用来进行用户的终端切换
su 与 su -
su:不会切换shell
su - :会切换shell
格式:
su [-] [username]
3.sudo提权
前提:
普通用户加入wheel
更改配置
vim /etc/sudoers
也可使用,更改配置文件/etc/sudoers
visudo
没有颜色显示,但visudo会检查内部语法,避免用户输入错误信息
总结
Crond计划任务和用户权限提升是Linux系统中常用的功能和技巧。通过合理使用Crond和sudo命令,用户可以提高工作效率,简化操作流程。然而,用户在使用这些功能时需要注意安全性和权限管理,避免对系统造成不必要的风险和损害。