liunx的组管理、权限管理和定时任务调度

2.6组管理和权限管理

  • Liunx组基本介绍

    ​ 在liunx中没个用户必须属于一个组,不能独立于组外。在liunx中每个文件有所有者,所在组,其他组的概念。
    在这里插入图片描述

  • 文件/目录所有者

    一般为文件创建者,谁创建了该文件,就自然的成为了该文件的所有者

    1. 查看文件的所有者

      • 指令:ls -ahl

      • 应用实例:
        在这里插入图片描述

    2. 修改文件所有者

      • 指令:chown 用户名 文件名

      • 应用案例:

        使用root创建一个文件apple.txt,然后将其所有者修改成tom

        chown tom apple.txt
        
  • 组的创建

    1. 基本指令:groupadd 组名
    2. 应用实例:
      • 创建以组monstergroupadd monster
      • 创建一个用户fox,并放入到monseer组中。useradd -g monster fox
  • 文件/目录 所在组

    当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)

    1. 查看文件/目录所在组

      • 基本指令:ls -ahl

      • 应用实例

        使用fox来创建一个文件,看看该文件属于哪个组?

        -rw-r--r-- 1 fox monster 0 11月 5 12:50 ok.txt
        
    2. 修改文件/目录所在的组

      • 基本指令:chgrp 组名 文件名

      • 应用实例

        ​ 使用root用户创建文件orange.txt,看着当前这个文件属于哪个组 ,然后将这个文件所在组,修改到fruit组。

        groupadd fruit;
        touch orange.txt;
        // 看看当前这个文件属于哪个组 -> root组
        chgrp fruit orange.txt
        
  • 其他组:除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

  • 改变用户所在组

    在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

    1. 改变用户所在组

      usermod -g 新组名 用户名

      usermod -d 目录名 用户名(改变用户登录的初始目录)

      特别说明:用户需要有进入到新目录的权限

    2. 应用实例

      zwj这个用户从原来所在组,修改到wudang组。usermod -g wudang zwj

  • 权限的基本介绍

    ls -l 中显示的内容如下
    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
    

    0—9位说明

    1. 第0为确定文件类型d,-,l,c,b
      • l是链接,相当于windows的快捷方式
      • d是目录,相当于windows的文件夹
      • c是字符设备文件,鼠标,键盘
      • b是块设备,比如硬盘
    2. 第1-3位时确定所有者(该文件的所有者)拥有该文件的权限。——User
    3. 第4-6位确定所属组者(同用户组的)拥有该文件的权限。——Group
    4. 第7-9位确定其他用户拥有该文件的权限。——Other
  • rwx权限详解

    1. rwx作用到文件

      • r:代表可读(read):可以读取,查看
      • w:代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有些权限,才能删除该文件
      • x:代表可执行(execute):可以被执行
        在这里插入图片描述
    2. rwx作用到目录

      • r:代表可读(read):可以读取,ls查看目录内容
      • w:代表可写(write):可以修改,对目录内创建+删除+重命名目录
      • x:代表可执行(execute):可以进入该目录
  • 修改权限

    1. 基本说明:通过chmod指令,可以修改文件或目录的权限

    2. 第一种方式:±=变更权限

      • u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

        1. `chmod u=rwx,g=rx,o=x 文件、目录名``
        2. ``chmod o+w 文件/目录名`
        3. chmod a-x 文件/目录名`
      • 案例演示

        1. abc文件的所有读者写执行的权限,给所在组读执行权限,给其他组读执行权限

          chmod u=rwx,g=rx,o=rx abc
          
        2. abc文件的所有者除去执行的权限,增加组的写的权限

          chmod u-x,g+w abc
          
        3. abc文件的所有用户添加读的权限

          chmod a+r abc
          
    3. 第二种方式:通过数字变更权限

      • r=4 w=2 x=1 rwx=4+2+1=7

        chmod u=rwx,g=rx,o=x 文件目录名  ==  chmod 751 文件/目录名
        
      • 案例演示

        /home/abc.txt文件的权限修改成rwxr-xr-x,使用给数字的方式实现。

        chmod 755 /home/abc.txt
        
  • 修改文件所有者chown

    1. 基本介绍

      • chown newowner 文件/目录 改变所有者
      • chown newowner:newgroup 文件/目录 改变所有者和所在组
      • -R如果是目录,则使其下所有子文件或目录递归生效
    2. 案例演示

      • 请将/home/abc.txt文件的所有者修改成tom

        chown tom /home/abc.txt
        
      • 请将/home/test目录下所有的文件和目录的所有者都修改成tom

        chown -R tom /home/test
        
  • 修改文件/目录所在组chgrp

    1. 基本介绍

      chgrp newgroup 文件/目录  【改变所在组】
      
    2. 案例演示

      • 请将/home/abc.txt文件的所在组修改成shaolin

        groupadd shaolin
        chgrp shaolin /home/abc.txt
        
      • 请将/home/test目录下所有的文件和目录的所在组都修改时成shaolin

        chgrp -R shaolin /home/test
        

2.7:定时任务调度

  • crond任务调度:crontab进行定时任务的设置

    1. 概述

      任务调度:是指系统在某个时间执行的特定的命令或程序

      任务调度分类:

      1. 系统工作:有些重要的工作必须周而复始的执行。如病毒扫描等
      2. 个别用户工作:个别用户可能希望执行某些程序。比如对mysql数据库的备份。

      示意图:
      在这里插入图片描述

    2. 基本语法:crontab [选项]

    3. 常用选项

      -e编辑crontab
      -l查询crontab任务
      -r删除当前用户所有的crontab
    4. 快速入门

      设置任务调度文件:/etc/crontab
      设置个人任务调度。执行 crontab -e
      接着输入任务到调度文件。  
      // 意思说每小时的每分钟执行 /etc/ > /tmp/to.txt
      */1 * * * * ls -l /etc/ > /tmp/to.txt	
      
      • 参数细节说明:5个占位符的说明

        项目含义范围
        第一个一小时当中的第几分钟0-59
        第二个一天当中的第几个小时0-23
        第三个一个月当中的第几天1-31
        第四个一年当中的第几月1-12
        第五个一周当中的星期几0-7(0和7都代表星期日)
      • 特殊符号的说明

        特殊符号含义
        *代表任何时间。比如第一个"*"就代表一小时中每分钟都执行一次的意思
        `代表不连续的时间。比如”0,8,12,16 * * *命令“,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
        -代表连续的时间范围。比如”0 5 * * 1-6命令“,代表在周一到周六的凌晨5点0分执行命令
        */n代表每隔多久执行一次,比如”*/10 * * * * 命令“,代表每隔10分钟就执行一遍命令
    5. 应用实例

      1. 每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中

        */1 * * * * date >> /tmp/mydate
        
      2. 每隔1分钟,将当前日期和日历都追加到/home/mycal文件中

        vim /home/my.sh;
        date >> /home/mycal;
        cal >> /home/mycal;
        chmod u+x /home/my.sh
        crontab -e
        */1 * * * * /home/my.sh
        
      3. 每天凌晨2点,将mysql数据库testdb,备份到文件中。

        crontab -e
        0 2 * * * mysqldump -u root -proot testdb > /home/db.bak
        
    6. crond相关

      • conrtab -r:终止任务调度
      • crontab -l:列出当前有那些任务调度
      • service crond restart:重启任务调度
  • at定时任务

    1. 基本介绍

      • at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行

      • 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业

      • at命令是一次性定时计划任务,执行完一个任务后不再执行次任务了

      • 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看。

        ps -ef | grep atd可以检测atd是否在运行

      • 示意图
        在这里插入图片描述

    2. at命令格式:at [选项] [时间]Ctrl+D结束at命令的输入,输入两次

    3. at命令选项
      在这里插入图片描述

    4. at时间定义:指定时间的方法

      • 接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。
      • 使用midnight(深夜)、noon(中午)、teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间
      • 采用12小时计时制,即在时间上加上AMPM来说明是上午还是下午。
      • 指定命令执行的具体日期,指定格式为month daymm/dd/yydd.mm.yy,指定的日期必须跟在之指定时间的后面
      • 使用相对计时法。指定格式为:now + count time-unitsnow就是当前时间,time-units是时间单位,这里更够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量
      • 直接使用today(今天)、tomorrow(明天)来指定完成命令的时间
    5. 应用实例

      • 2天后的下午5点执行/home/ls /home
        在这里插入图片描述

      • atq命令来查看系统中没有执行的工作任务

      • 明天17点钟,输出时间到指定文件内,比如root/date100.log
        在这里插入图片描述

      • 2分钟后,输出时间到指定文件内。比如/root/date200.log
        在这里插入图片描述

      • 删除已经设置的任务,atrm编号

        atrm 4  // 表示将job队列,编号为4的job删除
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值