sudo功能的应用
sudo
用户查看日志/var/log/messages secure
root密码给人
给查看的命令 suid(特殊权限)
sudo
尚方宝剑(大宝剑)
精确某个普通用户在执行某一个或几个命令的时候可以临时充当root
准备
root
oldboy密码设置为123456
配置sudo
授权oldboy用户可以以root身份运行ls 和touch等一些命令
visudo===vi/etc/sudoers sudoers相当于sudo的配置文件
查看当前oldboy当前有什么(特权)
sudo -l
环境窗口 (左边root 右边oldboy)
oldboy环境下
[[email protected] ~]# su - oldboy
Last login: Fri Apr 26 16:37:21 CST 2019 on pts/3
[[email protected] ~]$ cat /var/log/messages
cat: /var/log/messages: Permission denied
[[email protected] ~]$ ll /var/log/messages
-rw------- 1 root root 407371 Apr 26 16:38 /var/log/messages [[email protected] ~]$ sudo ls /root/
oldboy is not in the sudoers file. This incident will be reported.
第一次用sudo查看会出现下图情况,这不是错误,输入密码即可,倘若密码忘记回到root下修改,记住一个名言:With great power comes great responsibility -----出自蜘蛛侠
root环境下 密码忘记,可重新设置密码为123456
[[email protected] ~]# echo 123456|passwd --stdin oldboy
Changing password for user oldboy.
passwd: all authentication tokens updated successfully
[[email protected] ~]# sudo -l
进入visudo在第100行的后面编辑,将指定的用户和命令添加到下面,不用的话可以用#将其注释掉。wq保存退出。也可以到vi/etc/sudoers
中配置
查看一下
root下改完了 在oldboy下用sudo -l 查看一下
这些命令也可以进行配置,有个小技巧可将其在notepad+记事本Ctr+j排成一列
[[email protected] ~]# \which grep head tail less more cat
/usr/bin/grep
/usr/bin/head
/usr/bin/tail
/usr/bin/less
/usr/bin/more
/usr/bin/cat
再次到oldboy下面可以看到ls命令能够查看root下面的命令了
定时任务
sudoers与 visudo 差不多,
[[email protected] ~]# grep oldboy /etc/sudoers
oldboy ALL=(ALL) /bin/ls, /bin/touch
[[email protected] ~]$ sudo -l
[sudo] password for oldboy:
User oldboy may run the following commands on oldboyedu59:
(ALL) /bin/ls, /bin/touch
[[email protected] ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[[email protected] ~]$ sudo ls /root/
alex anaconda-ks.cfg dir-032 dir-035 file-032 file-035 oldboydir oldboy.txt pass.txt passwd.txtdd2 sed.sed
查看 ls /bin/下面有哪些命令! 随便选择几个进行实验
sudo练习题 :
给oldboy配置sudo可以查看系统的日志 (思考查看日志有什么命令)
/bin/grep, /bin/head, /bin/tail, /bin/less, /bin/more, /bin/cat
[[email protected] ~]# grep oldboy /etc/sudoers
#oldboy ALL=(ALL) /bin/ls, /bin/touch
oldboy ALL=(ALL) /bin/grep, /bin/head, /bin/tail, /bin/less, /bin/more, /bin/cat
sudo练习题 :
给oldboy配置sudo可以查看系统的日志 (思考查看日志有什么命令)
给oldboy配置可以运行/bin下面所有命令
给oldboy配置可以运行系统中所有命令并且不需要再输入oldboy密码
给oldboy配置可以运行/bin下面所有命令
oldboy ALL=(ALL) /bin/*
给oldboy配置可以运行/bin下面所有命令但是不能使用vi和su
oldboy ALL=(ALL) /bin/*, !/bin/vi, !/bin/su, !/bin/rm
给oldboy配置可以运行系统中所有命令并且不需要再输入oldboy密码
oldboy ALL=(ALL) NOPASSWD: ALL
定时任务
什么是定时任务
类似闹钟
Linux下面定时执行任务
备份
流量低谷期(人少的时候)
脚本/命令
定时任务分类
定时任务格式
每天晚上12点打包备份/etc目录到/tmp下
分时日月周
定时规则
crontab -l 查看 当前用户的定时任务
crontab -e 修改 当前用户的定时任务
crontab 分类
系统的定时任务
配置文件
/etc/crontab
目录
etc/cron.daily
这个目录内容系统定时任务 会每天执行
etc/cron.hourly
这个目录内容系统定时任务 会小时执行
etc/cron.monthly
这个目录内容系统定时任务 会每月执行
etc/cron.weekly
这个目录内容系统定时任务 会每周执行
日志切割
系统定时任务+logroate
中毒
定时检查
存放在开机自启动
用户自己的定时任务
crontab -l
list
查看 当前用户的定时任务
crontab -e
edit
修改当前用户的定时任务
修改文件
crontab -l
cat /var/spool/cron/root
crontab -e
vi /var/spool/cron/root
查看定时日志
[[email protected] ~]# ll /var/log/cron
-rw------- 1 root root 9244 Apr 26 12:40 /var/log/cron
[[email protected] ~]# tail -f /var/log/cron 定时日志跟踪(在xshell新的窗口查看)
小练习:
每天8:30 开始上课(go to school)
30 08 * * * go to school
每天晚上12点带远导去 dbj
每个月的1号晚上11点带guoav去看av (kan)
0 2 * * 1 /data/postmall/shell/a.sh表示什么含义?
每天晚上12点带远导去 dbj
- 00 * * * dbj #半夜12点00到半夜12点59分 每分钟一次
00 00 * * * dbj #每天的半夜12点整
每个月的1号晚上11点带guoav去看av (kan)
00 23 01 * * kan
0 2 * * 1 /data/postmall/shell/a.sh表示什么含义?
每周1的凌晨2点整 执行脚本
每两分钟显示系统时间追加到 /tmp/time.log中。
[[email protected] ~]# crontab -l
#show time by liyy at 20190101
*/2 * * * * date >>/tmp/time.log
每天晚上09点到12点运行 systemctl restart network 命令
00 21-00 * * * systemctl restart network ×
* 21-00 * * * systemctl restart network ×
00 21-23,00 * * * date >>/tmp/time.log √√√√√
每天上午7点到12点每2个小时和晚上22点运行 systemctl restart network 命令
00 7-12/2,22 * * * systemctl restart network
每2天
-
- */2 * *