组密码添加
组密码添加是通过 gpasswd 命令,使用格式如下:
gpasswd [OPTION...] <GROUP>
例:添加一个名为 myGroup 的组,修改其密码为 www.zze.xyz。
[root@localhost ~]# groupadd myGroup
[root@localhost ~]# gpasswd myGroup
正在修改 myGroup 组的密码
新密码:
请重新输入新密码:
添加组用户
gpasswd 命令的 -a 选项可以向目标组添加指定用户。
例:将 user1 用户添加到 myGroup 组。
[root@localhost ~]# gpasswd myGroup -a user1
正在将用户“user1”加入到“myGroup”组中
[root@localhost ~]# id user1
uid=1000(user1) gid=1001(user1) 组=1001(user1),1000(myGroup)
从组中删除用户
从组中删除用户可使用 gpasswd 命令的 -d 选项。
例:从 myGroup 组中移除 user1 用户。
[root@localhost ~]# gpasswd myGroup -d user1
正在将用户“user1”从“myGroup”组中删除
[root@localhost ~]# id user1
uid=1000(user1) gid=1001(user1) 组=1001(user1)
设置组的管理用户
可通过 gpasswd 命令的 -A 选项设置对目标组有管理权限的用户列表。
例:让用户 user2、user3 拥有组 myGroup 的管理权限。
[root@localhost ~]# gpasswd myGroup -A user2,user3
[root@localhost ~]# tail -1 /etc/gshadow
myGroup:$6$rS4sMN21eF/Z1$5E6auJmIlrVEGIj1VGcrCY8gvz0IfukdF68yphw7VwK2d8frRjJeKuNhP0.yv.8xtPvj9MRcG/Yz9nOneQ.7M0:user2,user3:
临时切换基本组
看如下示例:
新建一个用户 tom,登录切换到 tom,创建 test.tom 文件并查看:
[root@localhost ~]# useradd tom
[root@localhost ~]# su - tom
[tom@localhost ~]$ touch test.tom
[tom@localhost ~]$ ll
总用量 0
-rw-rw-r--. 1 tom tom 0 9月 10 16:58 test.tom
可以看到,test.tom 文件的属主是用户 tom,属组是用户 tom 的同名组即基本组 tom 组。
使用 newgrp 命令切换当前组为 myGroup:
[tom@localhost ~]$ newgrp myGroup
密码:
[tom@localhost ~]$ id
uid=1000(tom) gid=1000(myGroup) 组=1000(myGroup),1001(tom)
可以看到此时用户 tom 的基本组为 myGroup,并且此时临时属于 GID 为 1000 和 1001 的 2 个组。
再创建一个 test1.tom 文件:
[tom@localhost ~]$ touch test1.tom
[tom@localhost ~]$ ll
总用量 0
-rw-r--r--. 1 tom myGroup 0 9月 10 17:13 test1.tom
-rw-rw-r--. 1 tom tom 0 9月 10 16:58 test.tom
可以看到,此时 test1.tom 文件的属主依旧是用户 tom,而它的属组则是新的基本组 myGroup。
输入 exit 退出,再次查看 tom 用户的信息:
[tom@localhost ~]$ exit
exit
[tom@localhost ~]$ id
uid=1000(tom) gid=1001(tom) 组=1001(tom)
可以看到,tom 用户的基本组又恢复了就是原来的同名私有组。
newgrp命令能够让用户临时切换基本组去执行命令,如果用户的附加组中本就包含要切换的目标基本组,那么就不需要输入组密码。
评论区