Linux运维-day23-用户管理sudo及定时任务

useradd补充参数:

-o 用户的id,可以不唯一

一、sudo

假设开发人员因为需要,想看一些系统的日志 /var/long/messages,但因为没有权限,无法查看

  • 第一种方法:root密码给他,但这个权限太大
  • 第二种方法:给查看的命令 suid的权限,但有了这个权限,所有的普通用户都可以查看,权限还是有些大
  • 第三种方法:sudo,通过这个可以让指定的用户在执行某一个或几个命令的时候,临时成为root(推荐)

配置sudo

授权oldboy用户可以以root身份运行ls和touch命令
查看当前用户有什么特权(sudo -l)
清空sudo用户的时间戳(sudo -k)
配置命令:visudo相当于vi /etc/sudoers
注:建议用visudo编辑这个文件,因为这个命令有语法检查,否则一旦出错了,普通用户就无法使用sudo了。直接在命令行执行visudo即可自动打开/etc/sudoers文件

sudo练习题 :

给oldboy配置sudo可以查看系统的日志 (思考查看日志有什么命令)

/bin/grep, /bin/head, /bin/tail, /bin/less, /bin/more, /bin/cat
[root@oldboyedu59 ~]# 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

给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

二、定时任务

1、什么是定时任务?

设定某个日期或时间周期性执行指令

    如:备份
            流量低谷期(人少的时候)
        脚本/命令

2、定时任务的分类

crontab:(软件包:cronie)工作必会
anacron:非7*24小时运行的服务器
atd:1次性的定时任务

3、crontab分类

1>系统的定时任务

配置文件
       /etc/crontab:系统定时任务的配置文件之一
目录
       /etc/cron.hourly/:系统定时任务每个小时运行这个目录里的内容
       /etc/cron.daily/:系统定时任务每天运行这个目录里的内容
       /etc/cron.weekly/:系统定时任务每周运行这个目录里的内容
       /etc/cron.monthly/:系统定时任务每月运行这个目录里的内容
定时的切割
     系统定时对系统日志,进行切割(日志切割/日志轮询)防止单个日志过大
     系统定制任务+logroate(命令)

切割的配置(了解)

[root@oldboyedu59 ~]# 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@oldboyedu59 ~]# 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
}

2>用户的定时任务

crontab -l
    查看当前用户的定时任务
    相当于cat /var/spool/cron/root
crontab -e
    编辑当前用户的定时任务
    相当于vi /var/spool/cron/root
tail -f
        查看实时更新

4、 定时任务的格式※※※

口诀:分时日月周

Linux运维-day23-用户管理sudo及定时任务_第1张图片
image.png

1>定时任务规则

      什么时间做什么
      分时日月周 命令/脚本

2>特殊符号

* 每
/ 每个xx分钟
      如:*/2 * * * * date>>/tmp/time.log
- 08-11
, 08,09,10,11

3>如何检查结果是否OK

看文件的内容
看定时任务的日志
定时任务的日志文件/var/log/cron

Linux运维-day23-用户管理sudo及定时任务_第2张图片
/var/log/cron文件详解.png

注:在定时任务日志中只能显示定时任务是否运行,但无法查看是否出错
小练习:

每天晚上12点带远导去 dbj
00 00 * * * dbj
每个月的1号晚上11点带guoav去看av (kan)
00 23 01 * * kan
0 2 * * 1 /data/postmall/shell/a.sh表示什么含义?
每周1的凌晨2点执行这个脚本

今日提示集合

提示集合:             
1.[root@oldboyedu59 ~]# crontab -l
no crontab for root
root用户没有定时任务 

2.no crontab for root - using an empty one
root用户没有定时任务  创建1个空的文件 

3.crontab: installing new crontab
           更新定时任务规则 

你可能感兴趣的:(Linux运维-day23-用户管理sudo及定时任务)