zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux培训/考试环境安装 | sudo提权 | cron周期命令

2023-02-18 16:38:32 时间

文章目录

快捷键

ctrl + d

退出当前视图

ctrl + u

从光标位置清空至首行

ctrl + k

从光标位置清空至行末

ctrl + w

回删光标前一个单词

Alt + d

回删光标后一个单词

ESC + .

显示上一次输入的命令

命令模式 u

一步步撤回

命令模式 ctrl r

反撤回

插入模式 :r [file name]

vim中插入其他文档内容

培训环境安装方法

[kiosk@foundation0 ~]$  rht-vmctl 
fullreset  poweroff   reset      save       start      status     stop       view 
# 完全预设		关机		重设		保存			开始		状态		停止			视图

#七台机器
[kiosk@foundation0 ~]$  rht-vmctl status 
all     bastion   classroom  servera   serverb      serverc      serverd      workstation

#重设其中一台机器
[kiosk@foundation0 ~]$  rht-vmctl reset servera

#启动其中一台机器
[kiosk@foundation0 ~]$  rht-vmctl start  servera

#查看机器视图状态
[kiosk@foundation0 ~]$ rht-vmview view servera
[kiosk@foundation0 ~]$ rht-vmctl view servera 

重置课程

#1.查看课程
[kiosk@foundation0 ~]$ cat /etc/rht
RHT_COURSE=rh294


#2.课程重置
[kiosk@foundation0 ~]$ rht-clearcourse 0

#3.设置课程
[kiosk@foundation0 ~]$ rht-setcourse rh124

#4.查看课程
[kiosk@foundation0 ~]$ cat /etc/rht
RHT_COURSE=rh294

考试环境安装环境

#1.设置镜像连接
#2.切换root用户
[kiosk@foundation0 ~]$ ssh root@locahost
密码Asimov
#3.安装光盘
[root@foundation0 ~]# yum install -y /run/media/kiosk/CDROM/ex200v82-4.8-220226.x86_64.rpm 

#判分脚本
[kiosk@foundation0 ~]$ exam-grade

身份切换

以某个用户的身份执行某个命令,使用命令su - username -c cmd

[root@node1 ~]# su - harry -c id
利用harry的身份查看id信息

sudo提权

[root@servera ~]# vim /etc/sudoers    (有高亮、只读)
[root@servera ~]# visudo  (没有高亮,不是只读)

99 ## Allow root to run any commands anywhere
100 root    ALL=(ALL)       ALL
root:用户名
ALL:主机名
ALL:角色
ALL:命令

案例1:让harry用户有root权限

[root@node1 ~]# visudo
#或者[root@node1 ~]# vim /etc/sudo
	100 root    ALL=(ALL)       ALL
    101 harry   ALL=(ALL)       ALL
    
测试
[root@node1 ~]# su - harry
Last login: Sun Apr 24 11:26:21 EDT 2022 on pts/0
[harry@node1 ~]$ sudo useradd user100
[sudo] password for harry: 
[harry@node1 ~]$ id user100
uid=5052(user100) gid=5052(user100) groups=5052(user100)

案例2:让sysadm组sudo时不需要密码

[root@node1 ~]# visudo
 111 # %wheel        ALL=(ALL)       NOPASSWD: ALL 
 112  %sysmgrs       ALL=(ALL)       NOPASSWD: ALL
测试:
[root@node1 ~]# su - harry
Last login: Sun Apr 24 11:26:21 EDT 2022 on pts/0
[harry@node1 ~]$ sudo cat /var/log/messages

vim替换命令

末行模式
:s/root/qq/   将光标所在行的第一个root替换为qq
:s/root/qq/g   将光标所在行的所有root都替换为qq
:1,5s/bin/wx/g  将1到5行的所有root都替换为qq
:%s/bin/wx/g   将全文的所有root都替换为qq

cron

周期性计划任务

#软件包默认系统自动安装
[root@localhost ~]# rpm -q cronie
cronie-1.4.11-14.el7_2.1.x86_64

#服务默认随机自启
[root@localhost ~]# systemctl status crond.service 

#cron定义时间格式
*  *  *  * *  [执行的命令]
分 时 日 月 周 
分钟: 0~59
小时:0~23   0代表24
日期:1~31
月份:1~12
星期:0~6   0代表周日

*	#每分,每时,每日,每月,每周
.	#分隔多个不连续的时间
-	#指定多个时间范围
/	#制定执行任务的时间间隔

#每周5的早上8点,执行一个任务
00  8  *  * 5 [执行的命令]

#每天晚上23:30,执行一个任务
30  23  *  * *

#日期和星期不能同时定义
  • crontab 用于管理计划任务
  • crontab -e -u 用户名 #编写计划任务
  • crontab -l -u 用户名 #查看计划任务
  • crontab -r -u 用户名 #清除计划任务
[root@localhost ~]# date
2022年 04月 28日 星期四 06:24:26 CST
[root@localhost ~]# date +%F
2022-04-28

[root@localhost ~]# tar -czf `date +%F`-log.tar.gz /var/log/*.log
#编写计划任务
[root@localhost ~]# crontab -e

#查看计划任务
[root@localhost ~]# crontab -l
00 3  * * 6 tar -cfz `date +%F`log.tar.gz /var/log/*.log

#清除计划任务
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab -l
no crontab for root
配置 cron 作业,该作业每隔 2 分钟运行并执行以下命令:

    logger "EX200 in progress",以用户 natasha 身份运行
[root@node1 ~]# crontab -e -u natasha 
[root@node1 ~]# crontab -l -u natasha 
*/2 * * * * logger "EX200 in progress"
[root@node1 ~]# vim /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