前言
Linux 组是用于管理 Linux 中用户帐户的组织单位。对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号。它被称为 用户 ID(UID)和组 ID(GID)。组的主要目的是为组的成员定义一组特权。它们都可以执行特定的操作,但不能执行其他操作。
Linux 中有两种类型的默认组。每个用户应该只有一个 主要组 primary group 和任意数量的 次要组 secondary group 。
"external nofollow" target="_blank" href="https://www.2daygeek.com/linux-user-account-creation-useradd-adduser-newusers/">在 Linux 中创建用户帐户的三种方法?
"external nofollow" target="_blank" href="https://www.2daygeek.com/how-to-create-the-bulk-users-in-linux/">如何在 Linux 中创建批量用户?
"external nofollow" target="_blank" href="https://www.2daygeek.com/linux-passwd-chpasswd-command-set-update-change-users-password-in-linux-using-shell-script/">如何在 Linux 中使用不同的方法更新/更改用户密码?
可以使用以下四种方法实现。
"htmlcode">
# id user1 uid=1008(user1)gid=1008(user1) groups=1008(user1) # id user2 uid=1009(user2)gid=1009(user2) groups=1009(user2) # id user3 uid=1010(user3)gid=1010(user3) groups=1010(user3)
我可以看到这个组中没有关联的用户。
#getent group mygroup mygroup:x:1012: #getent group mygroup1 mygroup1:x:1013:
方法 1:使用 usermod 命令
usermod 命令修改系统帐户文件,以反映命令行上指定的更改。
如何使用 usermod 命令将现有的用户添加到次要组或附加组?
要将现有用户添加到辅助组,请使用带有 -g 选项和组名称的 usermod 命令。
语法:
# usermod [-G] [GroupName] [UserName]
如果系统中不存在给定的用户或组,你将收到一条错误消息。如果没有得到任何错误,那么用户已经被添加到相应的组中。
# usermod -a-G mygroup user1
让我使用 id 命令查看输出。是的,添加成功。
# id user1 uid=1008(user1)gid=1008(user1) groups=1008(user1),1012(mygroup)
如何使用 usermod 命令将现有的用户添加到多个次要组或附加组?
要将现有用户添加到多个次要组中,请使用带有 -G 选项的 usermod 命令和带有逗号分隔的组名称。
语法:
# usermod [-G] [GroupName1,GroupName2] [UserName]
在本例中,我们将把 user2 添加到 mygroup 和 mygroup1 中。
# usermod -a-G mygroup,mygroup1 user2
让我使用 id 命令查看输出。是的, user2 已成功添加到 myGroup 和 myGroup1 中。
# id user2 uid=1009(user2)gid=1009(user2) groups=1009(user2),1012(mygroup),1013(mygroup1)
如何改变用户的主要组?
要更改用户的主要组,请使用带有 -g 选项和组名称的 usermod 命令。
语法:
# usermod [-g] [GroupName] [UserName]
我们必须使用 -g 改变用户的主要组。
# usermod -g mygroup user3
让我们看看输出。是的,已成功更改。现在,显示 user3 主要组是 mygroup 而不是 user3 。
# id user3 uid=1010(user3)gid=1012(mygroup) groups=1012(mygroup)
方法 2:使用 gpasswd 命令
gpasswd 命令用于管理 /etc/group 和 /etc/gshadow 。每个组都可以有管理员、成员和密码。
如何使用 gpasswd 命令将现有用户添加到次要组或者附加组?
要将现有用户添加到次要组,请使用带有 -M 选项和组名称的 gpasswd 命令。
语法:
#gpasswd[-M] [UserName] [GroupName]
在本例中,我们将把 user1 添加到 mygroup 中。
#gpasswd-M user1 mygroup
让我使用 id 命令查看输出。是的, user1 已成功添加到 mygroup 中。
# id user1 uid=1008(user1)gid=1008(user1) groups=1008(user1),1012(mygroup)
如何使用 gpasswd 命令添加多个用户到次要组或附加组中?
要将多个用户添加到辅助组中,请使用带有 -M 选项和组名称的 gpasswd 命令。
语法:
#gpasswd[-M] [UserName1,UserName2] [GroupName]
在本例中,我们将把 user2 和 user3 添加到 mygroup1 中。
#gpasswd-M user2,user3 mygroup1
让我使用 getent 命令查看输出。是的, user2 和 user3 已成功添加到 myGroup1 中。
#getent group mygroup1 mygroup1:x:1013:user2,user3
如何使用 gpasswd 命令从组中删除一个用户?
要从组中删除用户,请使用带有 -d 选项的 gpasswd 命令以及用户和组的名称。
语法:
#gpasswd[-d] [UserName] [GroupName]
在本例中,我们将从 mygroup 中删除 user1 。
#gpasswd-d user1 mygroup Removing user user1from group mygroup
方法 3:使用 Shell 脚本
基于上面的例子,我知道 usermod 命令没有能力将多个用户添加到组中,可以通过 gpasswd 命令完成。但是,它将覆盖当前与组关联的现有用户。
例如, user1 已经与 mygroup 关联。如果要使用 gpasswd 命令将 user2 和 user3 添加到 mygroup 中,它将不会按预期生效,而是对组进行修改。
如果要将多个用户添加到多个组中,解决方案是什么?
两个命令中都没有默认选项来实现这一点。
因此,我们需要编写一个小的 shell 脚本来实现这一点。
如何使用 gpasswd 命令将多个用户添加到次要组或附加组?
如果要使用 gpasswd 命令将多个用户添加到次要组或附加组,请创建以下 shell 脚本。
创建用户列表。每个用户应该在单独的行中。
$ cat user-lists.txt user1 user2 user3
使用以下 shell 脚本将多个用户添加到单个次要组。
vi group-update.sh #!/bin/bash for user in `cat user-lists.txt` do usermod -a-G mygroup $user done
设置 group-update.sh 文件的可执行权限。
# chmod +group-update.sh
最后运行脚本来实现它。
#sh group-update.sh
让我看看使用 getent 命令的输出。 是的, user1 、 user2 和 user3 已成功添加到 mygroup 中。
#getent group mygroup mygroup:x:1012:user1,user2,user3
如何使用 gpasswd 命令将多个用户添加到多个次要组或附加组?
如果要使用 gpasswd 命令将多个用户添加到多个次要组或附加组中,请创建以下 shell 脚本。
创建用户列表。每个用户应该在单独的行中。
$ cat user-lists.txt user1 user2 user3
创建组列表。每组应在单独的行中。
$ cat group-lists.txt mygroup mygroup1
使用以下 shell 脚本将多个用户添加到多个次要组。
#!/bin/sh for user in `more user-lists.txt` do for group in `more group-lists.txt` do usermod -a -G $group $user done
设置 group-update-1.sh 文件的可执行权限。
# chmod +x group-update-1.sh
最后运行脚本来实现它。
#sh group-update-1.sh
让我看看使用 getent 命令的输出。 是的, user1 、 user2 和 user3 已成功添加到 mygroup 中。
#getent group mygroup mygroup:x:1012:user1,user2,user3
此外, user1 、 user2 和 user3 已成功添加到 mygroup1 中。
#getent group mygroup1 mygroup1:x:1013:user1,user2,user3
方法 4:在 Linux 中将用户添加到组中的手动方法
我们可以通过编辑 /etc/group 文件手动将用户添加到任何组中。
打开 /etc/group 文件并搜索要更新用户的组名。最后将用户更新到相应的组中。
# vi /etc/group
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- faker塞拉斯s14决赛什么出装 faker塞拉斯s14决赛出装介绍
- LOLtoc9魔法口令在哪可以找到 2024云顶之弈toc观赛魔法口令兑换码
- 黑鸭子2008《影视经典·珍藏版》试音碟[WAV+CUE]
- 碧娜《温柔吻语2》[WAV+CUE]
- Stravinsky-Symphonies,Volume1-OrquestaSinfonicadeGalicia,DimaSlobodeniouk(2024)[24-
- 外媒评Switch2:向下兼容是关键 但挑战依然存在
- 任天堂提醒:宠物的尿或唾液或会让NS故障 把它放好!
- 《博德3》再创新高 Steam掌机总游玩时长近2000年
- 张玮伽《想你的夜DSD》东升 [WAV+CUE][1G]
- 姚璎格《 粤 24KGOLD》正版低速原抓[WAV+CUE][1G]
- 杨千嬅《如果大家都拥有海》寰亚 [WAV+CUE][998M]
- 孟庭苇.1994-1990-1994钻石精选集2CD(2022环球XRCD限量版)【上华】【WAV+CUE】
- 群星.1998-华纳好情歌精选17首【华纳】【WAV+CUE】
- 张敬轩王菀之.2006-903.ID.CLUB拉阔演奏厅LIVE.2CD【环球】【WAV+CUE】
- 《欢欣森活》存档方法