• 十七、Linux的组管理


    1、Linux组基本介绍

    在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件所有者、所在组、其它组的概念
    1.所有者
    2.所在组
    3.其他组
    4.改变用户所在的组
    image.png

    2、文件/目录 所有者

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

    • 查看文件的所有者

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

    • 修改文件所有者

    指令:chown 用户名 文件名

    • 应用实例

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

    chown tom apple.txt
    
    • 1

    3、组的创建

    • 基本指令

    groupadd 组名

    • 应用实例

    创建一个组,monster

    groupadd monster
    
    • 1

    创建一个用户fox,并放入到monster组中

    useradd -g monster fox
    
    • 1

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

    • 查看文件/目录所在组
    • 基本指令

    ls -ahl

    • 应用实例,使用fox创建一个文件,看这个文件属于哪个组?

    image.png
    image.png

    • 基本指令

    chgrp 组名 文件名

    • 应用实例

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

    1.groupadd fruit
    2.touch orange.txt
    3.看看当前这个文件属于哪个组->root组
    4.chgrp fruit orange.txt
    
    • 1
    • 2
    • 3
    • 4

    image.png
    image.png

    其他组

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

    改变用户所在组

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

    • 改变用户所在组
    1. usermod -g 新组名 用户名
    2. usermod -d 目录名 用户名 改变用户登录的初始目录 特别说明:用户需要有进入新目录的权限
    • 应用实例

    将zwj这个用户从原来所在组,修改到wudang组
    image.png

    4、权限

    4.1权限的基本介绍

    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是字符设备文件,鼠标、键盘
    image.png
    b是块设备,比如硬盘
    image.png
    2.第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
    3.第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
    4.第7-9位确定其他用户拥有该文件的权限—Other

    4.2、rwx权限详解

    • rwx作用到文件

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

    • rwx作用到目录

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

    4.3、文件及目录权限实际案例

    • ls -l中显示的内容如下:

    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

    • 10个字符确定不同用户对文件干什么

    第一个字符代表文件类型:- l d c b
    其余字符每3个一组(rwx)读®写(w)执行(x)
    第一组rwx:文件拥有者的权限是读、写和执行
    第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
    第三组r–:不与文件拥有者的其他用户的权限是读不能写和执行

    • 可用数字表示为:r=4,w=2,x=1因此rwx=4+2+1=7

    • 其他说明

      1 文件:硬连接数或 目录:子目录数
      root 用户
      root 组
      1213 文件大小(字节),如果是文件夹,显示4096字节
      Feb 2 09:39 最后修改日期
      abc 文件名

    4.4、修改权限-chmod

    • 基本说明

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

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

    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=x abc
    
    • 1

    2)给abc文件的所有者除去执行的权限,增加组写的权限

    chmod u-x,g+w abc
    
    • 1

    3)给abc文件的所有用户添加读的权限

    chmod a+r abc
    
    • 1

    image.png

    方式2:通过数字变更权限

    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
    
    • 1

    5、修改文件的所有者

    • 基本介绍

    chown newowner 文件/目录 改变所有者
    chown newowner:newgroup 文件/目录 改变所有者和所在组
    -R 如果是目录 则使其下所有子文件夹或目录递归生效

    • 案例演示

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

    chown tom /home/abc.txt
    
    • 1

    image.png
    请将/home/test目录下所有的文件和目录的所有者都修改成tom

    chown -R tom /home/test
    
    • 1

    image.png

    6、修改文件/目录所在组-chgrp

    • 基本介绍

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

    • 案例演示

    请将/home/abc.txt文件的所在组修改成shaolin(少林)

    groupadd shaolin
    chgrp shaolin /home/abc.txt
    
    • 1
    • 2

    image.png
    请将/home/text目录下所有的文件和目录的所在组都修改成shaolin

    chgrp -R shaolin /home/text
    
    
    • 1
    • 2

    image.png

    7、权限管理实战案例

    7.1、警察和土匪游戏

    image.png

    1.groupadd police;groupadd bandit
    2.useradd -g police jack;useradd -g police jerry;
      useradd -g bandit xh; useradd -g bandit xq;
    3. passwd jack;
       登录jack :touch jack.txt
       chmod -u=rw,g=w,o=-;
    正确的:chmod 640 jack.txt
    4.chmod 664 jack.txt/chmod o=r,g=rw jack.txt
    5.usermod -g police xh (用root执行)
    6.测试xh、xq是否可以读写jack.txt  小结论,就是如果要对目录内的文件进行操作,
    需要有对该目录的相应权限
    chmod 770 jack
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    7.2、课后练习

    image.png

    1、groupadd sx;groupadd yg
    2、useradd 唐僧/悟空/八戒/沙僧
    3、passwd 唐僧...
    4、usermod -g yg 悟空/八戒
       usermod -g sy 唐僧/沙僧
    5、登录悟空
      vim monkey.java
    6、chmod g+w monkey.java
    7、用root账号:chmod g+r+w+x wk
       然后用八戒账号可以修改
    9、用root用户: usermod -g yg ss
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    11、总结:

    • x:表示可以进入该目录,比如cd;还可以修改里面文件的内容
    • r:表示可以ls,将目录的内容显示
    • w:表示可以在该目录,删除或者创建文件
  • 相关阅读:
    有关微信小程序如何使用mathjs
    从企业的视角来看,数据中台到底意味着什么?
    北京:PMP证书在可对应中级职称!
    Linux网络编程一(协议、TCP协议、UDP、socket编程、TCP服务器端及客户端)
    Unity 预制体放在场景中可见,通过代码复制出来不可见的处理
    Python 基于PHP+MySQL的医患管理展示交流网
    SpringBoot-32-shiro整合mybatis
    基于FPGA的电磁超声脉冲压缩检测系统 论文+源文件
    如何建立完整的、有效的会员体系?
    Java 24 Design Pattern 之 建造者模式
  • 原文地址:https://blog.csdn.net/weixin_60347335/article/details/134489771