用户组管理
用户组管理
概述
简介
-
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建
-
一个用户可以同时属于多个用户组,一个用户组可以包含多个不同的用户
-
用户组的管理设计用户组的添加、删除和修改,实际上就是对 /etc/group 文件的更新
初始群组(initial group)
- 在 /etc/passwd 文件中的第四个字段所记录的 GID 就是所谓的 ”初始群组“ ,当用户一登录系统,立刻就会拥有这个群组的相关权限
有效群组(effective group)
-
当一个用户账号同时支持多个用户组时,可用
groups
命令查看当前用户支持的所有群组,第一个输出的群组即为有效群组。假如root用户的有效群组为root,使用touch
命令创建一个新文件时,这个文件的拥有者为root,而且群组也是root -
可以使用
newgrp
命令来完成有效群组的切换# 将当前用户切换到附加用户组 newgrp groupname
注意,想切换的群组必须是当前用户已经支持的群组
创建用户组
# 创建系统用户组,该类用户组的 GID 值小于 500
groupadd -r groupname
# 创建普通用户组,其 GID 值大于或等于 500
groupadd groupname
# 指定用户组ID
groupadd -g groupname
删除用户组
groupdel groupname
注意,若要删除某个群组,必须确认 /etc/passwd 内的账号没有任何人使用该群组作为初始群组才行
修改用户组
# 更改用户组名称
groupmod -n newname oldname
# 重设用户组ID
groupmod -g newid oldname
用户切换用户组
# 添加用户到指定的用户组
gpasswd -a username groupname
# 从指定的用户组中移除用户
gpasswd -d username groupname
设置用户组管理员
- 添加用户到组和从组中移除某用户,除了 root 用户可以执行该操作外,用户组管理员也可以执行该操作
- 用户管理员只能对授权的用户组进行用户管理 (添加用户到组或从组中删除用户),无权对其他用户组进行管理
# 将指定的用户设置为指定用户组的用户管理员
gpasswd -A username groupname