Linux|Linux实操篇-组管理和权限管理


文章目录

    • 1 Linux 组基本介绍
    • 2 文件/目录 所有者
      • 2.1 查看文件的所有者
      • 2.2 修改文件所有者【change own】
    • 3 组的创建
    • 4 文件/目录 所在组
      • 4.1 查看文件/目录 所在组
      • 4.2 修改文件所在的组
    • 5 其他组
    • 6 改变用户所在组
    • 7 权限的基本介绍
    • 8 rwx权限详解,难点
      • 8.1 rwx作用到文件
      • 8.2 rwx作用到目录
    • 9 文件及目录权限实际案例
    • 10 修改权限 -chmod
      • 10.1 第一种方式:+、-、= 变更权限
      • 10.2 第二种方式:通过数字变更权限
    • 11 修改文件所有者-chown
    • 12 修改文件/目录所在组-chgrp
    • 13 最佳实践-警察和土匪游戏
    • 14 课堂练习
    • 15 课堂练习2,完成如下操作

1 Linux 组基本介绍 在 Linux 中的每个用户必须属于一个组,不能独立于组外。
在Linux 中每个文件有所有者、所在组、其他组的概念。
  1. 所有者
  2. 所在组
  3. 其他组
  4. 改变用户所在的组
Linux|Linux实操篇-组管理和权限管理
文章图片

2 文件/目录 所有者 一般为文件的创建者,谁创建了该文件,就自然的成为了该文件的所有者。
2.1 查看文件的所有者
  • 指令:ls -ahl
  • 应用实例:
Linux|Linux实操篇-组管理和权限管理
文章图片

2.2 修改文件所有者【change own】
  • 指令:chown 用户名 文件名
  • 应用实例:
    • 要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
    • chown tom apple.txt
Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

3 组的创建
  • 基本指令:groupadd 组名
  • 应用实例:
    • 创建一个组 monster
    • groupadd monster
    • 创建一个用户 fox ,并放入到 monster 组中
    • useradd -g monster fox
Linux|Linux实操篇-组管理和权限管理
文章图片

4 文件/目录 所在组 当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
4.1 查看文件/目录 所在组
  • 基本指令:ls -ahl
  • 应用实例:
    • 使用 fox 创建一个文件,看看这个文件属于哪个组
Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

4.2 修改文件所在的组
  • 基本指令:chgrp 组名 文件名
  • 应用实例:
    使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组
    • 先创建 fruit 组 => groupadd fruit
    • 使用root登录,创建文件 => touch orange.txt
    • 看看当前这个文件属于哪个组 -> root组
    • 修改文件所在组 => chgrp fruit orange.txt
Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

5 其他组 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
6 改变用户所在组 在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限也可以改变某个用户所在的组
  • 指令:
  1. usermod -g 新组名 用户名 改变用户所在组
  2. usermod -d 目录名 用户名 改变该用户登录的初始目录,特别说明:用户需要有进入到新目录的权限
  • 应用实例:
    将 swk 这个用户从原来所在组,修改到 huaguoshan 组
Linux|Linux实操篇-组管理和权限管理
文章图片

7 权限的基本介绍 ls -l 中显示的内容如下:=> 视频链接
-rw-r--r--.1 tomroot0 6月24 17:28 apple.txt

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

0-9位说明:
  • 第 0 位确定文件类型 (d, -, l, c, b)
    • l 是链接,相当于Windows的快捷方式
    • d 是目录,相当于Windows的文件夹
    • c 是字符设备文件,鼠标,键盘
    • b 是块设备,比如硬盘
    • - 表示普通文件
  • 第 1-3 位确定所有者 (该文件的所有者) 拥有该文件的权限
  • 第 4-6 位确定所属组 (同用户组的) 拥有该文件的权限
  • 第 7-9 位确定其他用户拥有该文件的权限
8 rwx权限详解,难点 8.1 rwx作用到文件
  1. r:代表可读(read)可以读取,查看
  2. w:代表可写(write)可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
  3. x:代表可执行(execute)可以被执行
8.2 rwx作用到目录
  1. 【r】代表可读(read)可以读取,ls 查看目录内容
  2. 【w】代表可写(write)可以修改,对目录的内 创建+删除+重命名目录
  3. 【x】代表可执行(execute)可以进入该目录
9 文件及目录权限实际案例 ls -l 中显示的内容如下:
-rw-r--r--.1 tomroot7 6月25 10:01 apple.txt

Linux|Linux实操篇-组管理和权限管理
文章图片

  • 10 个字符确定不同用户能对文件干什么
    • 第 1 个字符代表文件类型:- l b c d
    • 其余字符每 3 个一组(r w x)
    • 第一组 :文件拥有者的权限是读、写不能执行
    • 第二组:与文件拥有者同一组的用户的权限是读,不能写和执行
    • 第三组:不与文件拥有者同组的其他用户的权限是读,不能写和执行
  • 可用数字表示:
    • r=4 ,w=2 ,x=1
    • 因此:rwx = 4+2+1 = 7
  • 其他说明:
    • 1 :文件:硬连接数;目录:子目录数
    • tom :文件所有者
    • root :文件所在组
    • 7 :文件大小(字节)如果是文件夹,显示 4096 字节
    • 6月 25 10:01 :最后的修改日期
    • apple.txt :文件名
10 修改权限 -chmod
  • 基本说明:通过 chmod指令,可以修改文件或目录的权限
10.1 第一种方式:+、-、= 变更权限
u:所有者 g:所在组 o:其他组 a:所有人(u、g、o 的总和)

(1)chmod u=rwx,g=rx,o=x 文件名/目录名
(2)chmod o+w 文件名。目录名
(3)chmod a-x 文件/目录名
  • 案例演示
    • 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其他组执行权限
      ==> chmod u=rwx,g=rx,o=x abc
    • 给abc文件的所有者除去执行的权限,增加组写的权限
      ==> chmod u-x,g+w abc
    • 给abc文件的所有用户添加读的权限
      ==> chmod a+r abc
10.2 第二种方式:通过数字变更权限
r=4 w=2 x=1rwx=4+2+1=7

  • chmod u=rwx,g=rx,o=x 文件名/目录名
  • 相当于 => chmod 751 文件名/目录名
  • 案例演示:要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x ,使用给数字的方式实现 => chmod 755 /home/abc.txt
11 修改文件所有者-chown
  • 基本介绍:
  1. chown newowner 文件/目录 改变所有者
  2. chown newowner:newgroup 文件/目录 改变所有者和所在组
  3. -R 如果是目录,则使其下所有子文件或目录递归生效
  • 案例演示:
    • 请将 /home/abc.txt 文件的所有者修改成 tom
      ==> chown tom /home/abc.txt
    • 请将 /home/kkk 目录下所有文件和目录的所有者都修改成 tom
      ==> chown -R tom /home/kkk
12 修改文件/目录所在组-chgrp
  • 基本介绍: chgrp newgroup 文件/目录 改变文件所在组
  • 案例演示:
  1. 请将 /home/abc.txt 文件的所在组修改成 shaolin (少林)
    => groupadd shaolin --先创建组
    => chgrp shaolin /home/abc.txt
  2. 请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin (少林)
    => chgrp -R shaolin /home/kkk
13 最佳实践-警察和土匪游戏
  • 基本介绍:
    • 现在有两个组:police,bandit
    • 目前有四个用户:
    • 警察:jack,jerry
    • 土匪:abcd,xyzw
  • 游戏演示:
  1. 创建组
    => groupadd police; groupadd bandit
  2. 创建用户
    => useradd -g police jack ; useradd -g police jerry
    => useradd -g bandit abcd ; useradd -g bandit xyzw
  3. jack 创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限
    => 首先jack登录;vim jack.txtchmod 640 jack.txt
  4. jack 修改该文件,让其他组可以读,本组人可以读写
    => chmod 644 jack.txt 或者 chmod o+r,g+w jack.txt
  5. abcd 投靠警察,看看是否可以读写
    => usermod -g police abcd—这条指令需要root用户执行
  6. 测试看看 abcd是否可以读写,xyzw是否可以读写。小结论:如果需要对目录内的文件进行操作,需要先对该目录有相应权限
14 课堂练习
  1. 建立两个组:神仙(sx),妖怪(yg)
  2. 建立四个用户 (唐僧,悟空,八戒,沙僧)
  3. 设置密码
  4. 把悟空,八戒放入妖怪组,唐僧,沙僧 在神仙组
  5. 用悟空建立一个文件(monkey.java 该文件要输出 i am monkey)
  6. 给八戒一个可以 读、写 的权限
  7. 八戒修改 monkey.java,加入一句话(i am pig)
  8. 唐僧 沙僧 对该文件没有权限
  9. 把 沙僧 放入妖怪组
  10. 让沙僧 修改 该monkey.java文件,加入一句话(“我是沙僧,我是妖怪!”)
  11. 对文件夹 rwx 的细节讨论和测试
    ==> 点击查看视频
    (1)x:表示是否有权限进入该目录,(如执行 cd指令)
    (2)r:表示是否可以将目录的内容显示处理 (如执行 ls指令)
    (3)w:表示是否有权限在该目录 创建或者删除 文件 (如执行 touch指令)
【Linux|Linux实操篇-组管理和权限管理】Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

Linux|Linux实操篇-组管理和权限管理
文章图片

15 课堂练习2,完成如下操作
  1. 用 root 登录,建立用户 mycentos,自己设置密码
  2. 用 mycentos 登录,在主目录下建立目录 test/t11/t1
  3. 在 t1 中建立一个文本文件 aa ,用 vi 编辑其内容为 ls -al
  4. 改变 aa 的权限为可执行文件【可以将当前日期追加到一个文件】,运行该文件
  5. 删除新建立的目录 test/t11/t1
  6. 删除用户 mycentos 及其主目录的内容
  7. 将 Linux 设置成进入图形界面
  8. 重新启动 Linux 或关机

    推荐阅读