Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
      • 什么是用户组
      • 组有几种类别
      • 组相关配置文件
        • group文件
        • gshadow文件
      • 用户组相关命令
        • 添加组groupadd
        • 添加组示例1
        • 添加组示例2
        • 修改组groupmod
        • 修改组示例1
        • 修改组示例2
        • 删除组groupadd
        • 删除组示例1
        • 删除组示例2
      • 用户与用户组场景
    • 普通用户提权
    • 基础权限
    • 特殊权限
    • 文件特殊属性
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

    • 磁盘管理

    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
Brc
2021-07-04
目录

用户组管理

# 什么是用户组

  • 组是一种逻辑层面的定义
  • 逻辑上将多个用户归纳至一个组,当我们对组操作,其实就相当于对组中的所有用户进行操作。

# 组有几种类别

  • 对于用户来说,组分为如下几类
    • 默认组:创建用户时不指定组,则默认创建与用户同名的组;
    • 基本组:用户有且只能有一个基本组,创建时可通过-g指定(亲爹);
    • 附加组:用户可以有多个附加组,创建时通过-G指定(干爹);

# 组相关配置文件

  • 组账户信息保存在/etc/group和/etc/gshadow两个文件中,重点关注group

# group文件

  • /etc/group配置文件解释如下图

image-20210704160051407

# gshadow文件

  • /etc/gshadow配置文件解释如下图

image-20210704160148944

# 用户组相关命令

# 添加组groupadd

若想要添加Linux用户组,可以使用groupadd命令,使用root账号登录Linux系统之后就可以添加用户组了。

选项 功能描述
-g 为新组设置GID,若GID已经存在会提示GID已经存在
-r 创建一个系统组

# 添加组示例1

  • 添加一个salary的组

    • 为组设定gid为10000
    [root@web ~]# groupadd salary -g 10000
    [root@web ~]# tail -1 /etc/group
    salary:x:10000:
    
    1
    2
    3

# 添加组示例2

  • 添加一个salary_2的组

    • 添加为系统组
    [root@web ~]# groupadd -r salary_2
    [root@web ~]# tail -1 /etc/group
    salary_2:x:988:
    
    1
    2
    3

# 修改组groupmod

若想要修改Linux用户组,可以使用groupmod命令,使用root账号登录Linux系统之后就可以修改用户组了。

选项 功能描述
-g 为新组设置GID,若GID已经存在会提示GID已经存在
-n 改名为新的组

# 修改组示例1

  • 修改salary用户组组名为system

    [root@web ~]# groupmod -n system salary
    [root@web ~]# tail -1 /etc/group
    system:x:10000:
    
    1
    2
    3

# 修改组示例2

  • 修改system用户组GID为5000

    [root@web ~]# groupmod system -g 5000
    [root@web ~]# tail -1 /etc/group
    system:x:5000:
    
    1
    2
    3

# 删除组groupadd

若想要修改Linux用户组,可以使用groupdel命令,使用root账号登录Linux系统之后就可以修改用户组了。

# 删除组示例1

  • 删除salary_2系统用户组

    [root@web ~]# groupdel salary_2
    
    1

# 删除组示例2

  • 创建tom用户,设置主组为system,然后测试删除system组

    [root@web ~]# useradd tom -g system
    [root@web ~]# groupdel system
    groupdel:cannot remove the primary group of user 'tom'
    
    #如果组中存在用户是无法删除该组,必先删除用户后在删除组
    [root@web ~]# userdel -r tom
    [root@web ~]# groupdel system
    
    1
    2
    3
    4
    5
    6
    7

# 用户与用户组场景

场景:

  1. 创建dev与ops两个组;
  2. 创建bob用户,设定基本组为dev,密码为123;
  3. 创建alice用户,设定基本组为ops,密码为123;
  4. 创建/opt/reosurce文件,然后修改属组为ops、权限为664;
  5. 测试发现alice用户可以读写,而bob用户仅可以查看;
  6. 现在希望bob也能够对文件进行读写,如何快速实现(为bob添加ops附加组);

操作:

  1. 创建组与用户;

    [root@web ~]# groupadd dev
    [root@web ~]# groupadd ops
    [root@web ~]# useradd bob -g dev
    [root@web ~]# useradd alice -g ops
    
    1
    2
    3
    4
  2. 为用户设定登陆密码;

    [root@web ~]# echo "123" | passwd --stdin bob
    [root@web ~]# echo "123" | passwd --stdin alice
    
    1
    2
  3. 建立文件,然后分配好权限;

    [root@web ~]# echo "data" > /opt/resource
    [root@web ~]# chgrp ops /opt/resource
    [root@web ~]# chmod 664 /opt/resource
    
    1
    2
    3
  4. 使用ops组的alice用户测试读和写权限,没有任何问题;

    [alice@web ~]$ echo "alice-data" >> /opt/resource
    [alice@web ~]$ cat /opt/resource
    data
    alice-data
    
    1
    2
    3
    4
  5. 使用dev组的bob用户测试读和写权限,发现只有读权限,没有写权限;

    [bob@web ~]$ echo "bob-data" >> /opt/resource
    -bash:/opt/resource:权限不够
    [bob@web ~]$ cat /opt/resourcedata
    alice-data
    
    1
    2
    3
    4
  6. 为bob用户添加ops附加组,这样bob用户就能借助ops组权限,实现读写操作;

    [root@web ~]# usermod bob -G ops
    [root@web ~]# id bob
    uid=1002(bob) gid=2020(dev) groups=2020(dev),2021(ops)
    
    1
    2
    3
  7. 再次测试,发现bob用户能借助ops组实现读和写操作;

    [bob@web ~]$ echo "bob-data" >> /opt/resource
    [bob@web ~]$ cat /opt/resource
    data
    alice-data
    bob-data
    
    1
    2
    3
    4
    5
#Linux
Last Updated: 2021/11/05, 14:31:43
用户管理
普通用户提权

← 用户管理 普通用户提权→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式