介绍
在本实验中,我们将探索 Linux 的 groups
命令,该命令用于管理用户组。我们将学习如何查看用户所属的组、创建新组以及从组中添加或删除用户。本实验涵盖了对 groups
命令的理解、创建和管理用户组,以及为用户分配和移除组。本实验中涉及的命令通常用于 Linux 环境中的用户和权限管理。
在本实验中,我们将探索 Linux 的 groups
命令,该命令用于管理用户组。我们将学习如何查看用户所属的组、创建新组以及从组中添加或删除用户。本实验涵盖了对 groups
命令的理解、创建和管理用户组,以及为用户分配和移除组。本实验中涉及的命令通常用于 Linux 环境中的用户和权限管理。
在这一步中,我们将探索 Linux 的 groups
命令,该命令用于管理用户组。groups
命令允许你查看用户所属的组、创建新组以及从组中添加或删除用户。
首先,让我们检查当前用户 labex
所属的组:
groups labex
示例输出:
labex : labex sudo
输出显示用户 labex
是 labex
和 sudo
组的成员。
要查看系统上所有的组,可以使用以下命令:
cat /etc/group
示例输出:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:labex
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:labex
floppy:x:25:
tape:x:26:
sudo:x:27:labex
audio:x:29:
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:labex
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-journal:x:101:
systemd-network:x:102:
systemd-resolve:x:103:
systemd-timesync:x:104:
input:x:105:
crontab:x:106:
netdev:x:107:
syslog:x:108:
messagebus:x:109:
render:x:110:
ssh:x:111:
lxd:x:112:labex
这显示了系统上定义的所有组,包括它们的组 ID 以及属于每个组的用户。
在这一步中,我们将学习如何使用 groupadd
、groupmod
和 groupdel
命令在 Linux 中创建和管理用户组。
首先,让我们创建一个名为 "developers" 的新组:
sudo groupadd developers
示例输出:
无输出,但组 "developers" 已创建。
为了验证组是否创建成功,我们可以再次列出所有组:
cat /etc/group
你应该能在输出中看到 "developers" 组。
现在,让我们将用户 "labex" 添加到 "developers" 组中:
sudo usermod -a -G developers labex
为了确认用户已添加到组中,我们可以检查用户所属的组:
groups labex
示例输出:
labex : labex sudo developers
如果你需要修改组的属性,可以使用 groupmod
命令。例如,将组名从 "developers" 改为 "engineering":
sudo groupmod -n engineering developers
最后,要删除一个组,可以使用 groupdel
命令:
sudo groupdel engineering
示例输出:
无输出,但 "engineering" 组已被删除。
在这最后一步中,我们将学习如何在 Linux 中为用户分配和移除组。
首先,让我们创建一个名为 "testers" 的新组:
sudo groupadd testers
现在,将用户 "labex" 添加到 "testers" 组中:
sudo usermod -a -G testers labex
为了验证用户是否已添加到组中,我们可以检查用户所属的组:
groups labex
示例输出:
labex : labex sudo developers testers
如果你需要从组中移除用户,可以使用 gpasswd
命令:
sudo gpasswd -d labex testers
让我们验证用户是否已从 "testers" 组中移除:
groups labex
示例输出:
labex : labex sudo developers
你也可以使用 usermod
命令从组中移除用户:
sudo usermod -G labex,developers labex
这将从所有组中移除用户 "labex",只保留 "labex" 和 "developers" 组。
在本实验中,我们首先学习了 Linux 的 groups
命令,它允许我们查看用户所属的组、创建新组以及从组中添加或移除用户。接着,我们探索了如何使用 groupadd
、groupmod
和 groupdel
命令创建和管理用户组。最后,我们介绍了如何使用 usermod
命令为用户分配和移除组。
本实验的关键学习点包括理解 groups
命令的用途和用法、创建和修改用户组,以及管理用户在组中的成员资格。这些技能对于在 Linux 环境中有效管理用户访问权限至关重要。