Linux使用groupadd命令创建组

时间:2020-03-05 15:26:55  来源:igfitidea点击:

Linux组是轻松管理和管理用户所必需的。
Linux和UNIX系统包含常规(普通)和系统组。

Linux资源(例如文件或者目录)设置为关联组的读取,写或者执行权限,其中包含共享这些权限的用户。

在本教程中,我们了解如何使用Groupadd命令在Linux中创建组。

Groupadd命令

在Linux和Unix的操作使用scews for to compoule for to company。
我们应该具有root访问权限或者sudo用户权限以运行groupadd命令。

以下行显示Groupadd命令的语法:

groupadd [options] groupname

1)如何在Linux中创建一个组

创建组使用groupadd命令后跟组的名称。

以下命令将为系统添加组"开发人员",稍后可以将用户添加到此组。

# groupadd developers

组信息将存储在'/etc/groups'文件中,我们可以使用grep命令来搜索组名称。

例如,允许在"/etc/group"文件中使用grep命令搜索组"开发人员":

# grep developers /etc/group
developers:x:506:

2)使用自定义GID创建组

在我们在创建新用户时看到的早期教程中,系统为每个用户创建唯一的用户ID(UID)。

同样在我们创建新组时,创建GID(组ID)编号。

如果要提供自定义(特定)GID号码,则可以提供"-g"或者"--gid`"选项。

以下示例显示创建名为"开发人员"的组,具有特定GID(3456):

# groupadd -g 3456 developers

要验证我们可以列出该组并使用grep命令过滤:

# grep developers /etc/group
developers:x:3456:

3)创建系统组

默认情况下GID(组ID)是分配给login.defs(/etc/login.defs)文件中定义的"gid_min"和"gid_max"值之间的组。
通常,大多数Linux系统中gid_min的值为500或者1000 。

下面的"GID_MIN"下面的GID为系统组(有关备份,维护或者授予硬件的访问)。
为了创建一个GID低于'GID_MIN'值的组,请使用"-R"选项。

例如,让我们使用"-r""选项创建一个组'devsys':

# groupadd -r devsys

让我们通过列出该组来验证,我们可以看到分配的GID为102(以下时间小于500)。

# grep devsys /etc/group
devsys:x:102:

4)使用非唯一GID创建组

如果我们创建具有现有GID号码的组,则系统将不允许创建组。
但是有一个选项可以选择将非唯一GID分配给组。

以下输出显示系统不会允许创建名为"devops"的组,因为存在GID号505存在的另一个组。

# groupadd -g 505 devops
groupadd: GID 505 is not unique

现在让我们使用-o选项创建一个具有非唯一GID的组。

这次我们可以看到创建组"devops"。

# groupadd -o -g 505 devops

列出组时,我们可以看到存在具有相同GID号码的两组:

# grep 505 /etc/group
bill:x:505:
devops:x:505:

5)更改默认选项

覆盖为"/etc/login.defs"文件中定义的默认(尤其是gid_min和gid_max)值,我们可以使用"k""选项。

例如,允许创建一个名为"编码器"的组,覆盖"gid_min"(设置为1500)和'gid_max'(设置为1700):

# groupadd -K GID_MIN=1500 -K GID_MAX=1700 coders

以下输出确认,使用GID'1502'创建了组的"编码器",它在GID_MIN和GID_MAX值之间我们设置:

# grep coders /etc/group
coders:x:1502:

6)创建组密码

组密码不是很常用的适当安全原因,强迫人们共享单个密码,当多个人需要访问一个特定的组时。

我们可以使用"-p""选项来为新组创建密码。

在下面的命令中,我们为新组"编码器"为"密码123"创建密码"密码123":

# groupadd -p password123 coders

7)迫使现有组的成功

如我们知道我们尝试创建已存在的组,它将失败。

让我们尝试添加现有组"javaproject",并查看其退出状态的内容:

# groupadd javaproject
groupadd: group javaproject exists
# echo $?
9

我们可以看到命令退出错误。
是的,这是一个明显的。
但是,如果要使用成功状态退出命令,则当组存在时,使用"-f"或者"--Force""选项。

在第一个命令中,我添加了-f选项,我们可以看到它没有错误退出。
第二个命令验证退出代码并确认它是成功的。

# groupadd -f javaproject
# echo $?
0