sudo的含义及使用
sudo含义:尚方宝剑/大宝剑
可以让普通用户在执行某个或几个命令的时候临时成为root
如何使用
需要两个窗口 root oldboy(密码改成123456)
查看oldboy用户的sudo
[oldboy3@oldboy /home/oldboy2]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.##只有第一次会提示这个,意思是责任越大能力越大
[sudo] password for oldboy3: ##输入密码
Sorry, user oldboy3 may not run sudo on oldboy.##表示当前用户没有配置sudo
使用sudo需要输入当前用户密码
配置sudo
visudo ===vi /etc/sudoers
[root@oldboy ~]# visudo
root ALL=(ALL) ALL
oldboy ALL=(ALL) /bin/ls /bin/touch
oldboy1 ALL=(ALL) /bin/* !/bin/vim, !/bin/vi##!表示禁用
oldboy3 ALL=(ALL) NOPASSWD: ALL##表示oldboy用户所有命令使用sudo不需要输入密码
省略若干。。。。
[oldboy1@oldboy ~]$ sudo -l
[sudo] password for oldboy1:
User oldboy1 may run the following commands on oldboy:
(ALL) /bin/ls /bin/touch##已经配置sudo及
命令的路径可以使用\which 获取命令路径
[root@oldboy ~]# \which grep head tail
/usr/bin/grep
/usr/bin/head
/usr/bin/tail
使用sudo
sudo ls /root
重要
不要给普通用户配置所有命令,vi su -命令,因为普通用户可以直接切换到root.比较危险。只给他查看之类的命令
定时任务
分类:crontab(cronie)
CROND分类:用户定时任务与系统定时任务
系统定时任务重要目录
/etc/cron.hourly:系统定时任务每个小时运行这个目录里的内容
/etc/cron.daily:系统定时任务每天运行这个目录里的内容
/etc/cron.weekly:系统定时任务每周运行这个目录里的内容
/etc/cron.monthly:系统定时任务每个月运行这个目录里的内容
系统会自动运行里面的内容系统中毒的时候
定时检测
存放开机自启动
/etc/cron.deny定时任务的黑名单
/etc/crontab系统定时任务的配置文件之一
日志切割
含义:系统定时任务+logrotate命令 完成对 日志 日志的
日志切割/日志轮询(简单理解就是定时把日志进行拆分,为了不让日志过大)
[root@oldboy ~]# ll /var/log/messages* /var/log/secure* /var/log/cron*
-rw-------. 1 root root 45059 Apr 26 17:42 /var/log/cron
-rw-------. 1 root root 12073 Apr 10 09:15 /var/log/cron-20190410
-rw-------. 1 root root 172860 Apr 26 17:42 /var/log/messages
-rw-------. 1 root root 377944 Apr 10 09:15 /var/log/messages-20190410
-rw-------. 1 root root 30809 Apr 26 16:59 /var/log/secure
-rw-------. 1 root root 7412 Apr 30 2019 /var/log/secure-20190430
日志切割的配置文件
[root@oldboy ~]# ll /etc/cron.daily
total 8
-rwx------. 1 root root 219 Oct 31 03:12 logrotate
-rwxr-xr-x. 1 root root 618 Oct 30 22:55 man-db.cron
[root@oldboy ~]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
个人定时任务
crontab -l=查看 当前用户的定时任务
crontab -e=配置定时任务
[root@oldboyedu59 ~]# crontab -l
no crontab for root===root用户没有定时任务
[root@oldboyedu59 ~]# crontab -e
no crontab for root - using an empty one===root用户没有定时任务 创建1个空的文件
3.crontab: installing new crontab===更新定时任务规则
配置例子:
[root@oldboy ~]# crontab -e
#show time by jiu at 20190203
*/2 * * * * date >>/tmp/time1.log##每两分钟执行一次
~
~
~
~
"/tmp/crontab.uBFaFG" 4L, 148C written
crontab: installing new crontab
[root