Linux用户组管理之用户附加组加入组放入组拿出移除移出组 组成员 添加组 修改组 用户组操作 useradd usermod gpasswd

本文详细介绍了Linux系统中用户主组和附加组的概念,以及如何使用`useradd`、`usermod`和`gpasswd`命令进行用户组管理。包括添加用户、修改用户组、加入或移出组等操作,并提供了具体命令示例,例如如何将用户加入或移出`wheel`组。
摘要由CSDN通过智能技术生成

主组(基本组) 和 附加组 的概念

  • Linux用户可以有一个主组,和多个附加组
  • 一个组可以属于一个用户,并包含多个用户
- G  
-g  
附加组1
附加组2
附加组3
用户1
用户2
用户1主组
用户2主组

用户附加组 是平等关系, 一个组可以拥有一些用户成员 , 一个用户也可以加入多个组

  • useraddusermod 可以将多个组对应到一个用户
  • gpasswd 可以将多个用户对应到一个组



添加组,修改组,加入组,人加组,组加人

使用 useradd 命令, 在创建用户时, 顺便加入组
  • 在 CentOS7中, adduseruseradd 命令功能是相同的,
    可以用 ll /usr/sbin/adduser 看出 adduseruseradd的符号连接
  • 在 Ubuntu20.04 中 , adduseruseradd 命令功能是不相同的, adduser会交互式让你输入密码,全名,电话等信息

👇这条命令会在添加新用户的同时,系统自动创建和用户名相同的主组, 并加入一组,二组,三组
参数-G 等同 --groups

# 添加用户,系统自动创建和用户名相同的主组, 并加入一组,二组,三组 , 参数`-G`
sudo useradd -G 一组,二组,三组 小明
sudo useradd --groups 一组,二组,三组 小明

👇这条命令在创建新用户的同时,会将一个已存在的组作为新用户的主组 ,
参数-g 等同 --gid

# 添加用户,并加入指定名称的主组, 组必须已存在,
sudo useradd -g 已经存在的组名或组id 用户名
sudo useradd --gid 已经存在的组名或组id 用户名

useradd-g-G可以同时使用, 创建用户的同时指定一个主组和多个附加组

sudo useradd -g 主组 -G 附加组1,附加组2,附加组3 用户名

useradd-G 如同 usermod-aG ; useradd肯定是只能是追加



使用usermod修改用户的组

useradd没有-a,如同usermod加了-a, 因为useradd是创建用户,新创的用户肯定没有组,只能追加组,不能修改组, 所以注明-a,--append显得多余

改变 附加组 用-G , 追加 附加组 用-aG

改变 主组-g--gid

sudo usermod -g 已经存在的组名或id 用户名

改变 附加组, 从原先的附加组移出, 用 -G--groups , 不会影响主组

# 改变附加组, 从原先的附加组移出, 不从主组移出, 组必须已存在
sudo usermod -G 组1,组2,组3 用户名
或者
sudo usermod 用户名 -G 组1,组2,组3

追加 附加组, 用 -aG-a -G--append --groups

# 追加附加组
sudo usermod -aG 组1,组2,组3 用户名
或者
sudo usermod 用户名 -aG 组1,组2,组3
或者
sudo usermod -a -G 组1,组2,组3 用户名
或者
sudo usermod 用户名 -a -G 组1,组2,组3
或者
sudo usermod --append --groups 组1,组2,组3 用户名
或者
sudo usermod 用户名 --append --groups 组1,组2,组3

useradd没有-a,如同usermod加了-a, 因为useradd是创建用户,新创的用户肯定没有组,只能追加组,不能修改组, 所以注明-a,--append显得多余


使用 gpasswd 添加组成员

添加单个组成员, 用-a--add

sudo gpasswd -a 成员用户名 组名
sudo gpasswd --add 成员用户名 组名

修改组的成员 -M--members

sudo gpasswd -M 用户1,用户2,用户3 组名
sudo gpasswd --members 用户1,用户2,用户3 组名

使用-M--members 时, 如果新成员中不包含原先的成员, 原先的成员就不再属于该组

  1. usermod -aG 一组 张三 : 一组有了张三
  2. gpasswd -M 李四 一组 : 一组有了李四, 不再有张三
  3. gpasswd -M 张三,王五 一组 : 一组又有了张三, 还有王五, 但没有了李四




移出组的成员, 修改用户的附加组

移出组的方法1 : 组删除成员, 删除指定组的用户

sudo gpasswd -d 用户名 组名

移出组的方法2: 编辑修改 /etc/group 文件

sudo vi /etc/group

移出组的方法3: 用 usermod -G 不加 -a 时会先移除再添加的特性
usermod -G 既能添加组,也能移出组

#  假设用户原先有附加组1,附加组2,附加组3 , 想要移除附加组2
sudo usermod -G 附加组1,附加组3 用户名




useradd,usermod,gpasswd 组操作的一些对比

  • useradd和usermod能设置用户的主组 , gpasswd不能
  • gpasswd的-a--add, usermod的-a--append, useradd没有 a 选项
  • useradd和usermod 组在前,用户在后, gpasswd相反
  • useradd和usermod 设置用户的组, gpasswd设置组的用户




加入移出wheel组的例子

加入wheel组的方法
  1. 用 useradd 创建用户并加入
# 用户的主组被设为wheel
sudo useradd -g wheel 用户名

# 用户的附加组添加wheel组
sudo useradd -G wheel 用户名

-g只能一个组,且设为主组 -G可以多个组,用逗号分隔

  1. 用 usermod
# 只加-G(--groups)不加-a(--append)会移出该用户原先的附加组, 不会移出主组
usermod -G wheel 用户名  

# -aG 等同 -a(--append) -G(--groups) , 加上 -a 后 就不会移出原先的附加组了
sudo usermod -aG wheel 用户名  

# -aG 等同 -a(--append) -G(--groups) , 加上 -a 后 就不会移出原先的附加组了
sudo useradd -a -G wheel 用户名  
  1. 用 gpasswd
sudo gpasswd -a 用户名 wheel

sudo gpasswd -M 用户名 wheel
  1. 修改 /etc/group 文件
sudo vi /etc/group

wheel: x:10: 后添加用户名 , 以逗号分隔



移出wheel组的方法
  • 方法1
sudo gpasswd -d 用户名 wheel
  • 方法2 修改 /etc/group 文件
sudo vi /etc/group

wheel: x:10: 后去除用户名




  • 0
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kfepiza

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值