如果您想授予用户读取、修改或创建自己的文件的权限,那么学习如何使用组至关重要。
在这个综合教程中,我们将引导您完成向组添加和删除用户的过程 Linux。
我们还介绍了如何创建、查看和删除组。
理解 Linux 组和组类型
Linux 使用组作为组织单位来有效管理用户帐户。
群体在确定阅读和写作等特权方面发挥着至关重要的作用。 更何况用户还需要有运行权限。
组中的所有用户都拥有创建者分配给该组的所有权限。
当用户创建组时,它会自动成为用户的“主要”组。 通常,主要组使用其创建者的用户名。
但是当用户将某人添加到组中时 Linux,它成为该用户的辅助组。 每一个 Linux 用户可以是多个次要组的成员,但每个用户只有一个主要组。
因此,您为创建的组(您的主要组)设置的权限将传播到您添加到该组的用户。
请注意,将用户添加到组的能力仅限于具有以下权限的用户: sudo 或 root 访问权限。
有趣的是,有关所有用户帐户的信息都存储在特定文件中,包括 /etc/passwd、/etc/shadow、/etc/group、/etc/default/useradd 和 /etc/login.defs。
避免手动修改这些文件非常重要。 相反,我们依靠各种命令将用户添加到组中 Linux。
如何将现有用户添加到组中
您可以使用 usermod 命令将现有用户添加到组中。 您可以使用带有“-a -G”选项的命令,后跟组名和用户名:
sudo usermod -a -G 组名 用户名 |
例如,将用户“joel”更改为“sudo”组,运行以下命令:
sudo usermod -a -G sudo 乔尔 |
请务必注意,每次要将用户添加到组时都必须使用附加选项 (-a)。
如果您不在此命令中使用 -a 选项,则会从用户所在的所有组中删除用户(您指定的组除外)。
在里面 example 上面,用户“joel”将从除“”之外的所有组中删除sudo” 如果命令中省略了 -a 选项。
请注意,usermod 命令仅在用户或组不存在时显示警告,如果成功则不会产生任何输出。
使用 Useradd 将新用户添加到辅助组
如果您需要将新用户添加到现有组中,以下命令将很有用:
# useradd -G {组名} 用户名 |
我们来过一个 example 在那里,我们创建一个名为“emma”的新用户并将其添加到“devops”组中。 首先,使用 grep 命令确保“devops”组存在:
# grep “^devops” /etc/group |
如果您没有看到任何输出,则意味着该组不存在,您需要使用“groupadd”命令创建它:
sudo 群加开发者 |
要验证用户“emma”尚不存在,请运行以下命令:
grep“^emma”/etc/passwd |
如果您没有看到任何输出,请将新用户 emma 添加到 devops 组:
useradd -G devops emma |
使用 passwd 命令为 emma 用户设置密码:
维维克密码 |
要确保用户已成功添加到 devops 组,请使用 id 命令:
伊维维克 |
此命令返回类似于以下内容的输出:
uid=1122(emma) gid=1125(emma) 组=1125(emma),1124(devops) |
将一个用户添加到多个组
如果需要一次将用户添加到多个组,请使用 -G 选项,后跟逗号分隔的组名称列表。
例如,要将用户“nash”添加到“devops”、“hr”、“ftp”和“pr”组,请运行以下命令:
useradd -G devops,hr,ftp,pr nash |
使用一个命令将现有用户添加到多个组
如果您需要同时将现有用户添加到多个辅助组,则可以使用 usermod 和 -G 选项通过单个命令来完成此操作。
这是该命令的语法:
sudo usermod -a -G group1,group2 用户名 |
例如,要将用户“emma”添加到“ftp”和“hr”,请运行以下命令:
sudo usermod -a -G ftp,hr emma |
从组中删除用户
要从组中删除用户,请使用带 -d 选项的 gpasswd 命令。
这 example 以下显示如何从组“ftp”中删除用户“emma”:
sudo gpasswd -d 艾玛 FTP |
更改用户的主要组
要更改用户的主要组,请使用带有 -g 选项的 usermod 命令,如下所示:
sudo usermod -g 组名 用户名 |
例如,要将用户“nash”的主要组更改为“hr”,请运行以下命令:
sudo usermod -g hr 纳什 |
查看用户组
要查看全面的用户信息,包括用户所属的组,请使用 id 命令,后跟用户名:
ID 用户名 |
如果排除用户名,该命令将显示当前登录用户的信息。
例如,要验证用户“emma”,请运行以下命令:
我是艾玛 |
创建和删除组
创建新组就像使用“groupadd”命令和组名称一样简单:
sudo groupadd 群组名称 |
删除群组也同样简单。 语法与创建组相同,但必须使用 groupdel 命令:
sudo groupdel 组名 |
管理组成员身份 Linux
除了在组中添加和删除用户之外,了解如何有效管理组成员身份也很重要 Linux。 以下命令和技术可以帮助您实现此目的:
- 列出群组成员: 要查看特定组的成员,可以使用“members”命令,后跟组名称。 例如,以下是列出 devops 组成员的命令:“members devops”。
- 从多个组中删除用户: 您可以使用带有 -d 选项的 gpasswd 命令一次从多个组中删除用户。 例如,要同时从组“devops”和“hr”中删除用户“emma”,请运行: sudo gpasswd -d 艾玛·德沃普斯,hr。
- 更改多个用户的主要组: 如果需要一次更改多个用户的主要组,可以将 usermod 命令与 Shell- 使用脚本技术。 您可以创建一个脚本来迭代用户列表并一次更改一个用户的主要组。
掌握这些技术将使您能够有效地管理 Linux 上的组成员身份和用户访问权限,为您的系统提供安全且有组织的环境。