如何在 Linux 中创建组(groupadd 命令)
在 Linux 中,组用于组织和管理用户帐户。组的主要目的是定义一组权限,例如读取、写入或执行权限,对于可以在组内的用户之间共享的给定资源。
在本文中,我们将讨论如何使用groupadd
命令在Linux中创建新组。
groupadd
命令语法
groupadd
命令的一般语法如下:
groupadd [OPTIONS] GROUPNAME
仅 root 或具有 sudo 权限的用户可以创建新组。
调用时,groupadd
使用命令行上指定的选项以及 /etc/login.defs
文件中指定的默认值创建一个新组。
在 Linux 中创建组
要创建新组,请键入groupadd
,后跟新组名称。
例如,要创建一个名为 mygroup
的新组,您将运行:
groupadd mygroup
该命令将新组的条目添加到/etc/group
和/etc/gshadow
文件中。
创建组后,您可以开始向组添加用户 。
如果同名组已经存在,系统会打印如下错误信息:
输出
groupadd: group 'mygroup' already exists
要在组存在时抑制错误消息并使命令成功退出,请使用 -f
(--force
) 选项:
groupadd -f mygroup
创建具有特定 GID 的组
在 Linux 和类 Unix 操作系统中,组通过其名称和唯一的 GID(正整数)来标识。
默认情况下,当创建新组时,系统会从login.defs
文件中指定的组ID范围中分配下一个可用的GID。
使用-g
(--gid
) 选项创建具有特定GID 的组。
例如,要创建一个名为 mygroup
且 GID 为 1010
的组,您可以键入:
groupadd -g 1010 mygroup
您可以通过列出所有组来验证组的 GID 并使用 grep 过滤结果 :
getent group | grep mygroup
输出
mygroup:x:1010:
如果具有给定 GID 的组已存在,您将收到以下错误:
输出
groupadd: GID '1010' already exists
当与 -o
(--non-unique
) 选项一起使用时,groupadd
命令允许您创建具有非唯一 GID 的组:
groupadd -o -g 1010 mygroup
创建系统组
该系统和常规(正常)组之间没有真正的技术差异。通常,系统组用于一些特殊的系统操作目的,例如创建备份或进行系统维护。
系统组 GID 是从 login.defs
文件中指定的系统组 UD 范围中选择的,该范围与常规组使用的范围不同。
使用-r
(--system
) 选项创建系统组。例如,要创建名为 mysystemgroup
的新系统组,您将运行:
groupadd -r mysystemgroup
覆盖默认的/etc/login.defs
值
-K
(--key
) 选项后跟KEY=VAL
允许您覆盖/etc/login.defs
文件中指定的默认值。
基本上,您可以覆盖的只是正常组 ID 和系统组 ID 的最大值和最小值,以便在创建新组时自动选择 GID。
假设您要创建一个 GID 范围在 1200 到 1500 之间的新组。为此,请指定最小/最大值,如下所示:
groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup
使用密码创建系统组
向组添加密码没有实际用途,并且可能会导致安全问题,因为多个用户需要知道该密码。
-p
(--password
) 选项后跟密码允许您为新组设置密码:
groupadd -p grouppassword mygroup
结论
在 Linux 中,您可以使用 groupadd
命令创建新组。
相同的说明适用于任何 Linux 发行版,包括 Ubuntu、CentOS、RHEL、Debian、Fedora 和 Arch Linux。
如果您有任何疑问,请随时发表评论。