一:LInux组基本介绍

在linux 中的每个用户必须属于一个组,不能独立于组外.在: linux中每个文件有所有者、所在组、其它组的概念。

  • 所有者
  • 所在组
  • 其他组
  • 改变用户所在的组

    二:文件/目录所有者

    1:查看文件的所有者

    指令:**ls -ahl**
    应用举例:
    image.png

    2:修改文件所有者

    指令:**chown 用户名 文件名**
    应用举例:

  • chown sakura sakura.txt

image.png
image.png

三:组的创建

指令:
**grounpadd 组名**
应用案例

  • 创建一个组LF
    • groupadd LF
  • 创建一个用户,并把用户放入LF中

    • useradd -g LF sss

      四:文件/目录所在组

      当一个用户创建了一个文件后,这个文件所在的组就是用户所在的组。

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

      指令:
      **ls -ahl**

      2:修改文件/目录所在组

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

    • groupadd fruit
    • touch orange.txt
    • ls -ahl
    • chgrp gruit orange.txt

      3:其他组

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

      4:改变用户所在组

      在添加用户时,可以指定将该用户添加到哪个组中,同样的用root 的管理权限可以改变某个用户所在的组。
      指令:
      **usermod -g 组名 用户名**
      **usermod -d 目录名 用户名** 改变用户登录的初始目录 :::info 注意事项:修改后的目录要有能够进入新目录的权限 ::: 应用举例:
  • 将zwj这个用户从原来所在组,修改到wudang 组

    • usermod -g wudang zwj

      五:权限的基本介绍

      ls -i中显示的内容如下:
      -rwxrw-r— 1 root root 1213 Feb 2 09:39 abc :::info 第0位:确定文件类型( d,-,l,c,b)
      l是链接,相当于windows的快捷方式
      d是目录,相当于windows的文件夹
      c是字符设备文件,鼠标,键盘 cd /dev
      b是块设备,比如硬盘
      “-” 代表普通文 ::: 第1-3位:确定所有者(该文件的所有者)拥有该文件的权限。—-User
      rwx:abc文件的所有者root对该文件拥有读,写,执行的权限
      第4-6位:确定所属组里的用户对该文件的权限,—-Group
      rw-:abc这个文件所在组的用户对该文件拥有读,写,没有执行的权限
      第7-9位:确定其他用户拥有该文件的权限—-Other
      其他组的用户:不是所有者,也不是所在组的用户
      r—:其他组的用户对abc文件只要读的权限

      六:rwx权限详解

      1:rwx作用到文件

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

      2:rwx作用到目录

      [ r ]代表可读(read):
      可以读取,ls查看目录内容
      [ w ]代表可写(write):
      可以修改,对目录内创建问文件+删除文件+重命名目录
      [x ]代表可执行(execute):
      可以进入该目录。可以用cd指令进来。如果没有这个权限,使用cd会报权限不足

      七:文件及目录权限实际案例

      ls -l中显示的内容如下:
      -rwxrw-r— 1 root root 1213 Feb 2 09:39 abc
      可用数字表示为
      r=4,w=2,x=1因此rwx=4+2+1=7,数字可以进行组合
      其他说明:
      1 文件:硬连接数或 目录:子目录数+文件
      root 用户
      root 组
      1213 文件大小(字节),如果是文件夹,显示4096字节
      Feb 2 09:39 最后修改日期
      abc 文件名

      八:修改权限-chmod

      1:基本说明

      通过**chmod**指令,可以修改文件或者目录的权限。

      2:第一种方式:+,-,=变更权限

      u:所有者 g:所有组 o:其他人 a:所有人 (u、g、o的总和)
  • chmod u=rwx , g=rx , o=x 文件/目录名

    • 给文件的所有者赋予读写执行权限。给文件所有组的用户赋予读和执行的权限,给其他人赋予执行的权限
  • chmod o+w 文件/目录名
    • 给其他人单独给写的权限
  • chmod a-x 文件/目录名
    • 去掉所有者对于这个文件的执行权限

案例举例:

  • 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
    • chmod u = rw , g = x , o = x abc
  • 给abc 文件的所有者除去执行的权限,增加组写的权限
    • chmod u - c , g + w abc
  • 给abc文件的所有用户添加读的权限

    • chmod u = 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

      基本语法:
      **chown newowner 文件/目录** (功能描述:改变所有者)
      **chown newowner:newgroup文件/目录** (功能描述:改变所有者和所在组)
      -R 如果是目录则使其下所有子文件或目录递归生效
      案例举例:
  • 请将/homc/abc.txt文件的所有者修改成tom

    • chown tom /home/abc.txt
  • 请将 /home/test目录下所有的文件和目录的所在组都修改成shaolin(少林)

    • chown -R shaolin /home/test

      十:修改文件/目录所在组-chgrp

      基本语法:
      **chgrp newgroup文件/目录** (功能描述:改变所在组)
      案例举例:
  • /home/abc .txt文件的所在组修改成shaolin (少林)

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

十一:权限练习

1:警察土匪权限

image.png

  • 创建组
    • groupadd police
    • grouadd bandit
  • 创建用户
    • useradd -g police jack
    • useradd -g police jerry
    • useradd -g bandit xh
    • useradd -g bandit xq
  • jack创建一个文件,自己可以读写,本组人可以读,其他组人没有权限
    • vim pollice.txt
    • chmod 640 police.txt
  • jack修改文件,让其他组人可以读,本组人可以读写
    • chmod 664 police.txt
  • xh投靠警察,看看是否可以读写

    • groupmod -g police xh :::info 如果要对目录进行操作,需要对该目录有相应的权限 **chmod 770 目录名 修改目录对于组内成员的权限** :::

      2:神仙妖怪权限

  • 建立两个组(神仙(sx),妖怪(yg))

  • 建立四个用户(唐僧,悟空,八戒,沙僧)
  • 设置密码
  • 把悟空,八戒放入妖怪唐僧沙僧在神仙
  • 用悟空建立一个文件( monkey.java该文件要输出i am monkey)
  • 给八戒一个可以r w的权限
  • 八戒修改monkey.java加入一句话( i am pig)
  • 唐僧沙僧对该文件没有权限
  • 把沙僧放入妖怪组
  • 让沙僧﹐修改该文件monkey,加入一句话(“我是沙僧,我是妖怪!”);
  • 对文件夹rwx 的细节讨论和测试!
    • x:表示可以进入到该目录,比如cd
    • r:表示可以ls ,将目录的内容显示
    • w:表示可以在该目录,删除或者创建文件