Linux学习笔记之 将用户加入组放入组拿出移除移出踢出组 用户组操作

444 阅读3分钟

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

Linux用户可以有一个主组,和多个附加组

加入组

加入或改变主组

在用useraddadduser

添加用户,并创建和用户名相同的主组

# 添加用户,系统自动创建和用户名相同的主组, 并加入
sudo useradd 用户名

添加用户,并加入指定名称的主组

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

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

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

在用usermod修改用户时

改变主组 -g

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

加入或改变附加组

在用useraddadduser

添加用户并指定附加组, 可以多个, 用逗号分隔, 组必须已存在

#  添加用户并指定附加组, 可以多个, 用逗号分隔, 组必须已存在
sudo useradd -G 组1,组2,组3 用户名

在用'usermod`时

改变附加组, 从原先的附加组移出, 不从主组移出 -G

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

追加附加组, 原先的组保留 aG

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

在用 gpasswd

添加1个成员到组

gpasswd -a 用户名 组名

添加多个成员到组

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




移出组

移出组的方法1: sudo gpasswd -d 用户名 组名

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 -G , usermod -aGgpasswd -M

useradd -Gusermod -aG 是多个组附加给一个用户 gpasswd -M 是多个用户成员加入一个组

usermod能指定主组,不能移出组 gpasswd能移出组,不能指定主组




以加入移出wheel组为例

加入wheel组的方法

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

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

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

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

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

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

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: 后去除用户名