当前位置: 首页 > article >正文

Linux 实操篇 组管理和权限管理、定时任务调度、Linux磁盘分区和挂载

一、组管理和权限管理

(1)Linux组基本介绍

在linux中的每个用户必须属于一个组,不能独立于组外

在linux中每个文件有所有者所在组其他组的概念

(2)文件/目录 所有者

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

1.2.1查看文件的所有者

  1. 指令
    ls -ahl

  2. 说明

1.2.2修改文件的所有者

  1. 指令
    chown 用户名 文件名
  2. 应用案例:将文件apple.txt的所有者修改成tom
    chown tom apple.txt
  3. 注意:使用该命令修改文件所有者时,文件的所在组 默认不会改变 

(3)组的创建

1.3.1基本指令

groupadd 组名

1.3.2应用实例

  1. 创建一个组,monster:
    groupadd monster
  2. 创建一个用户fox,并放入monster组中:
    useradd -g monster fox

(4)文件/目录 所在组

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

1.4.1查看文件/目录所在组

  1. 基本指令
    ls -ahl
  2. 应用实例使用fox创建一个文件,看看该文件属于哪个组?

1.4.2修改文件/目录所在组

  1. 基本指令
    chgrp 组名 文件名
  2. 应用实例使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit组

(5)其它组

除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

(6)改变用户所在组

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

1.6.1改变用户所在组

usermod -g 新组名 用户名

usermod -d 目录名 用户名 改变该用户登录的初始目录(特别说明:用户需要有进入到新目录的权限)

1.6.2应用实例

  1. 题目将zwj这个用户从原来所在组,修改到wudang组
  2. 指令
    usermod -g wudang zwj

(7)权限的基本介绍

  1. 第一列一共有10位,分别用0-9表示,下面是0-9位的说明:
  2. 第0位确定文件类型(d,-,l,c,b)
  3. 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。 —User
  4. 第 4-6 位确定所在组(同用户组的)拥有该文件的权限。—Group
  5. 第 7-9 位确定其他用户拥有该文件的权限。—Other

(8)RWX权限详解,难点

1.8.1rwx作用到文件

  1. [r]代表可读(read):可以读取,查看
  2. [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
  3. [x]代表可执行(execute):可以被执行

1.8.2rwx作用到目录

  1. [r]代表可读(read):可以读取,ls查看目录内容
  2. [w]代表可写(write):可以修改,对目录内创建+删除 或者 重命名目录
  3. [x]代表可执行(execute):可以进入该目录

(9)文件及目录权限实际案例                                                                 

  1. 10个字符确定不同用户能对文件干什么
    1. 第一个字符代表文件类型:-代表该文件是普通文件
    2. 其余字符每3个一组(rwx)
    3. 第一组rwx:文件拥有者的权限是读、写和执行
    4. 第二组rw-:所在组的用户的权限是读、写但不能执行
    5. 第三组r--: 其他组的用户的权限是读不能写和执行
  2. 可用数字表示:r=4,w=2,x=1,因此rwx=4+2+1=7,数字可以进行组合

(10)修改权限—CHMOD

1.10.1基本说明

通过chmod(change mod)指令,可以修改文件或目录的权限

1.10.2第一种方式:+、-、=变更权限

  1. u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和
    1. chmod u=rwx,g=rx,o=x 文件/目录名
    2. chmod o+w 文件/目录名
    3. chmod a-x 文件/目录名
  2. 案例演示
    1. 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
      chmod u=rwx,g=rx,o=rx abc
    2. 给abc文件的所有者除去执行的权限,增加组写的权限
      chmod u-x,g+w abc
    3. 给abc文件的所有用户添加读的权限
      chmod a+r abc

1.10.3第二种方式:通过数字变更权限

  1. r=4 w=2 x=1 rwx=4+2+1=7
  2. chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名
  3. 案例演示:将/home/abc.txt 文件的权限修改成rwxr-xr-x,使用给数字的方式实现

(11)修改文件所有者—CHOWN

1.11.1基本介绍

chown newowner 文件/目录    #改变所有者

chown newowner:newgroup 文件/目录    #改变所有者和所在组

-R    如果是目录,则使其下所有子文件或目录递归生效

1.11.2案例演示

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

(12)修改文件/目录所在组—CHGRP

1.12.1基本介绍

chgrp newgroup 文件/目录    #改变所在组

1.12.2案例演示

  1. 请将/home/abc.txt文件的所在组修改成shaolin(少林)
    chgrp shaolin /home/abc.txt
  2. 请将/home/test目录下所有的文件和目录的所在组都修改成shaolin(少林)
    chgrp -R shaolin /home/test

(13)最佳实践—警察和土匪游戏

  1. 创建组、创建用户
  2. jack创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限
  3. jack修改该文件,让其他组可以读,本组人可以读写:
  4. xh投靠警察,看看xh是否可以读写
  5. 结论:如果想对目录内的文件进行读/写等操作,必须先拥有对该目录的相应权限

二、定时任务调度

(1)crond 任务调度

2.1.1概述

  1. crontab 进行 定时任务的设置
  2. 任务调度:系统在某个时间执行的特定的命令或程序
  3. 任务调度分类:
    1. 系统工作:如有些重要工作必须周而复始地执行
    2. 个别用户工作:个别用户可能希望执行某些程序,如对mysql数据库的备份

2.1.2基本语法

crontab [选项]

2.1.3常用选项

  1. -e:编辑当前用户的定时任务表,会用默认文本编辑器打开文件供你添加、修改或删除任务
    crontab -e
  2. -l:列出当前用户的定时任务表
    crontab -l
  3. -r:删除当前用户的定时任务表,操作不可逆
    crontab -r
  4. -u <用户名>:以指定用户的身份执行 crontab 操作,需足够权限(如 root)才能用
    sudo crontab -u jack -e    #编辑用户jack的任务表
    
    sudo crontab -u jack -l    #列出用户jack的任务表
    
    sudo crontab -u jack -r    #删除用户jack的任务表
  5. -h:显示 crontab 命令的帮助信息,列出可用选项及说明
    crontab -h

2.1.4快速入门

  1. 设置个人任务调度:corontab -e
  2. 在调度文件中输入任务:*/1 * * * * ls -l /etc/ > /tmp/to.txt
  3. 特殊符号说明:

2.1.5应用实例

  1. 每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中:
    */1 * * * * date >>/tmp/mydate
  2. 每隔1分钟,将当前日期和日历都追加到/home/mycal文件中:
  3. 每天凌晨2:00将mysql数据库testdb,备份到文件中。提示:指令为mysqldump -u root -p密码 数据库

2.1.6crond相关指令

  1. 重启任务调度(CentOS7及以上)
    systemctl restart crond
  2. 重启任务调度(CentOS6及以下)
    service crond restart

(2)at 定时任务

2.2.1基本介绍

  1. .at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
  2. 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
  3. at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
  4. 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
    ps -ef|grep atd
  5. 示意图                                                                                                                                         

2.2.2at命令格式

  1. at [选项] [时间]
  2. Crtl + D 结束at命令的输入(按两次

2.2.3at命令选项

    2.2.4at时间定义

    1. 具体时间点
    2. 特定日期与时间组合
    3. 相对计时法
    4. 特定时间表述

    2.2.5应用案例

    1. 案例1:2天后的下午5点执行        /bin/ls/home
    2. 案例2:atq命令来查看系统中没有执行的工作任务
    3. 案例3:明天17点钟,输出时间到指定文件内 比如/root/date100.log
    4. 案例4:2分钟后,输出时间到指定文件内 比如/root/date200.log
    5. 案例5:删除已经设置的任务,atrm 编号(也可以使用at -d 任务编号:来删除设置的任务)

    三、Linux磁盘分区和挂载

    (1)Linux分区

    3.1.1原理介绍

    1. 单一根目录与统一文件结构:在 Linux 系统中,无论存在多少个分区以及这些分区分配给哪些目录使用,系统只有一个根目录/,并形成一个独立且唯一的文件系统结构。每个分区都是这个整体文件系统的组成部分
    2. 挂载机制:Linux 采用 “挂载” 的方式来管理存储设备。整个文件系统包含了一系列的文件和目录,通过挂载操作,可以将一个分区(如硬盘分区、外部存储设备等)与文件系统中的某个目录关联起来。挂载后,该分区的存储空间就如同是该目录的一部分,用户可以通过这个目录来访问分区中的文件和目录
    3. 示意图

    3.1.2硬盘说明

    1. IDE硬盘分区标识:IDE硬盘用 hd 表示,后面跟盘号(a - d 对应不同IDE通道的主从盘)和分区号。1 - 4 号是主分区或扩展分区,5 及以后是逻辑分区,如 hda3、hdb2
    2. SCSI等硬盘分区标识:SCSI、SATA、NVMe 等硬盘用 sd 表示,盘号和分区号规则和IDE硬盘一样,像 sda5、sdb3
    3. 如图所示:                                                                                                                                 

    3.1.3查看所有设备挂载情况

    1. -aall):显示所有块设备,包含空设备(如未挂载、无分区的设备)
    2. -d(nodeps,即no dependencies的缩写):只显示设备本身,不显示设备的子分区
    3. -f(fs,即file system的缩写):显示文件系统相关信息,如文件系统类型、UUID 等
    4. -o(output):自定义输出列,可指定要显示的信息字段
    5. 输出信息说明: UUID(通用唯一识别码)主要是用来标识硬盘分区

    (2)挂载的经典案例

    3.2.1如何增加一块硬盘

    右键虚拟机,选择[设置],点击添加,选择硬盘,然后一路[下一步],中间只有选择磁盘大小的地方需要修改,直到完成。然后重启系统(才能识别)!

    3.2.2虚拟机增加硬盘步骤1

    1. 分区命令 fdisk /dev/sdb
    2. 开始对/sdb分区                                                                                                                          
    3. 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q

    3.2.3虚拟机增加硬盘步骤2

    格式化磁盘:

    1. 格式化命令:-t是type的缩写,意味着要创建的文件系统的类型是什么(make filesystem)
      mkfs -t ext4 /dev/sdb1
    2. 其中ext4是分区类型
    3. 格式化之前,sdb1还没有UUID
    4. 输入命令,格式化磁盘
    5. 再看,此时就拥有UUID了

    3.2.4虚拟机增加硬盘步骤3

    1. 挂载:将一个分区与一个目录关联起来
      mount 设备名称 挂载目录

      例如:mount /dev/sdb1 /newdisk(必须先创建/newdisk目录)

    2. 卸载
      umount 设备名称 或者 挂载目录

      例如:umount /dev/sdb1 或者 umount /newdisk

    3. 注意:用命令行挂载重启后会失效

    3.2.5虚拟机增加硬盘步骤4

    1. 永久挂载:通过修改/etc/fstab(filesystem table)实现自动挂载
    2. 添加完成后 执行 mount -a 即刻生效(或者执行reboot也会自动生效)
    3. 最后两个数字的含义:

    (3)磁盘情况查询

    3.3.1查询系统整体磁盘使用情况

    1. 基本语法:df是disk free的缩写
      df -h    #以人类可读的格式显示
      
      df -T    #显示文件系统类型
    2. 应用实例:

    3.3.2 查看指定目录的磁盘占用情况

    1. 基本语法:du是disk usage的缩写
    2. 选项说明
      1. -h
      2. -s
    3. 查询指定目录的磁盘占用情况,不指定则默认查询当前目录
    4. 应用实例:查询/opt目录的磁盘占用情况,深度为1

    (4)磁盘情况—工作使用指令

    1. 关于wc命令
    2. 统计/opt文件夹下的文件的个数
      ls -l /opt|grep "^-"|wc -l
    3. 统计/opt文件夹下的目录的个数
      ls -l /opt|grep "^d"|wc -l
    4. 统计/opt文件夹下的文件的个数,包括子文件夹里的
      ls -lR /opt|grep "^-"|wc -l
    5. 统计/opt文件夹下目录的个数,包括子文件夹里的
      ls -lR /opt|grep "^d"|wc -l

    6. 以树状显示目录结构:tree 目录(注意:如果没有tree指令,则使用yum install tree,前提网络是畅通的)                                                                                                                             


    http://www.kler.cn/a/554944.html

    相关文章:

  1. Redis 中列表(List)常见命令详解
  2. 抖音试水AI分身;腾讯 AI 战略调整架构;百度旗下小度官宣接入DeepSeek...|网易数智日报
  3. 网络安全防护
  4. 【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)
  5. 接口测试-Protobuf相关
  6. 【RabbitMQ业务幂等设计】RabbitMQ消息是幂等的吗?
  7. 我用Ai学Android Jetpack Compose之Composable与View的区别与联系
  8. LeetCode 热题 100_搜索插入位置(63_35_简单_C++)(二分查找)(”>>“ 与 “/”)
  9. 【HappyBase】连接hbase报错:ecybin.ProtocolError: No protocol version header
  10. A105基于SpringBoot实现的甘肃非物质文化网站
  11. 宠物行业研究系列报告
  12. 为什么WP建站更适合于谷歌SEO优化?
  13. 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(二) -> swiper
  14. 油田安全系统:守护能源生命线的坚固壁垒
  15. Android14(13)添加墨水屏手写API
  16. 使用Termux将安卓手机变成随身AI服务器(page assist连接)
  17. 【Linux网络】TCP/IP地址的有机结合(有能力VS100%???),IP地址的介绍
  18. 鸿蒙与跨端迁移的重要性
  19. C从入门到放弃篇1
  20. 电脑网络图标消失了怎么办?(Windows电脑网络或WiFi图标消失,如何找回?)