Linux用户组管理

Linux用户管理

https://blog.youkuaiyun.com/omaidb/article/details/107869589


用户组的作用

用户组是具有相同特征用户的逻辑集合。简单的理解,有时我们需要让多个用户具有相同的权限,比如查看、 修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有 10 个用户的话,就需要授权 10 次,那如果有 100、1000 甚至更多的用户呢?

显然,这种方法不太合理。最好的方式是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有 需要访问此文件的用户放入这个组中。那么,所有用户就具有了和组一样的权限,这就是用户组。

将用户分组是 Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,很多程序上简化 了对用户的管理工作。

用户组特点: 具有相同特性用户的逻辑集合,通过组的形式使得具有相同特性的多个用户能够拥有相同的权限,便于管理;
每一个用户都拥有自己的私有组;
同一组内的所有用户可以共享该组下的文件;
每一个用户组都会被分配一个特有的id号-gid。


用户和用户组的关系

在这里插入图片描述

一对一:一个用户可以存在一个用户组中,作为组中的唯一成员;
一对多:一个用户可以存在多个用户组中,该用户具有多个组的共同权限;
多对一:多个用户可以存在一个用户组中,这些用户具有和组相同的权限;
多对多:多个用户可以存在多个用户组中,其实就是以上三种关系的扩展。


用户组的基本信息

  • 组分类:有主要组,私有组附加组
    主要组(primary group): /etc/passwd 文件第四列的组就时主要组
    私有组(private group):由系统创建与用户同名的组
    附加组(attached group): 由管理员创建,由管理员进行添加成员

/etc/group用户组信息文件

用户组信息存放在/etc/group 文件中

  • 在这个文件中,保存着用户组的所有信息,每一行记录代表一个用户组;
  • 将用户分组是对用户进行管理及控制访问权限的一种手段,每个用户都属于一个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
    在这里插入图片描述

/etc/gshadow 用户组密码文件

用户组密码存放在/etc/gshadow文件中

  • 在这个文件中,会保存用户组加密信息,比如说用户组管理密码就保存在此(与/etc/shadow文件相似);
  • /etc/group文件互补,对于大型服务器来说,拥有很多用户和组,此时会针对这些用户和组来生成一 些复杂的权限模型,此时设置并管理密码就显得尤为重要。

在这里插入图片描述

组作用:

  • 方便管理众多的用户
    唯一标识:
  • GID 范围0—60000
    Linux系统中一个用户至少属于一个组

用户组文件格式详解

# 查看用户组文件
grep wheel /etc/group

## 回显
root:x:0:
# 第一列表示组名
# 第二列表示组密码,组密码存放在/etc/gshadow文件中
# 第三列表示组ID(GID)
# 第四列表示"组成员"

在这里插入图片描述


wheel组(管理员组)

参考: https://www.cnblogs.com/kerrycode/p/7053118.html

只允许wheel组使用su命令切换为root,其他用户默认不能提权为root(需配置).

# 将一个用户添加到wheel组中
usermod -G wheel 用户名

在这里插入图片描述


修改用户的组信息


修改用户的扩展组

# 将root用户添加到unbound组
## 会覆盖上一个的扩展组
# usermod -G 扩展组名 用户名
usermod -G unbound root 

在这里插入图片描述


添加用户到多个扩展组

# 将当前用户添加到指定组
usermod -aG vboxusers $USER

# -aG 讲用户添加到指定组中
## -a add添加
## -G 表示"组"
usermod -aG 扩展组名 用户名
## 可以将用户添加到多个扩展组,不会覆盖之前的扩展组

# 将用户user1添加到g1组中
usermod -aG g1 user1

在这里插入图片描述

# 方法2:
# gpasswd -a 用户名 组名
gpasswd -a zhangsan test

在这里插入图片描述


从组中删除用户

# gpasswd -d 用户名 组名
gpasswd -d zhangsan test

在这里插入图片描述


增加组:groupadd

-f如果组已存在,则成功退出
-g为新用户组所使用的GID
-h显示此帮助信息并退出
-o允许创建有重复 GID 的组
-p为新用户组使用此加密过的密码
-r创建一个系统账户
#例如添加一个组组名叫google
groupadd 组名

删除组:groupdel

groupdel命令用于从系统中删除组,需要注意的是,若是在组中仍然包括某些用户,此时需要先从组中删除这些用户后,才能删除组)

-f即便是用户的主组也继续删除
#删除组: 
groupdel 组名

修改组:groupmod

-g修改为要使用的GID
-h显示此帮助信息并退出
-n修改为要使用的组名称
-o允许使用重复的 GID
-p更改密码(加密过的)
#主要是修改组名 : 
##groupmod -n 修改后的新名字 修改前的名字
##-n后面 lt代表的新名字
##- loadtest 旧的组名字
groupmod -n lt loadtest

也可以手动编辑/etc/group文件实现修改组信息


查看组信息

# 查看用户属于哪个组
groups 用户名

在这里插入图片描述

在这里插入图片描述


查看系统有哪些组

 # 查看系统有哪些组
cat /etc/group

# 只查看组名
awk -F ":" '{print $1}' /etc/group

在这里插入图片描述

# 查找属于 test 组的用户
grep 'test' /etc/group

在这里插入图片描述


用户组密码gpasswd

参考链接:https://blog.youkuaiyun.com/leroy008/article/details/16808003
/etc/gshadow/etc/group密码文件
用户组密码文件存放在/etc/gshadow文件的每一行,以“:”分隔成4个字段。

-a向组(GROUP)中添加用户(USER)
-d从组(GROUP)中添加或删除用户
-M设置组(GROUP)的成员列表
-A设置组(GROUP)的管理员列表
-r移除组(GROUP)的密码
-R向其成员限制访问组(GROUP)
-Q要 chroot 进的目录
# 修改组密码
## -p | 更改密码(加密过的)
groupmod -p '组密码' 组名

# 查看用户组密码文件格式
grep wheel /etc/gshadow

在这里插入图片描述

1234
组名称用户组密码用户组管理员的名称支持的账号名称

newgrp临时切换到组

# 当前用户临时切换到test组
## 如果有组密码,会提示输入密码
newgrp test

# 临时切换到test组后,创建的文件就属组就是test组

在这里插入图片描述

在这里插入图片描述

# 退回原来的组
newgrp 原来的组名

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值