> 文章列表 > Linux基础命令-groupmems管理组群的成员

Linux基础命令-groupmems管理组群的成员

Linux基础命令-groupmems管理组群的成员

Linux-usermod修改用户
Linux-useradd创建用户
Linux-userdel删除用户
Linux基础命令-chown修改文件属主
Linux基础命令-chmod修改文件权限

groupmems

命令介绍

先来看看这个命令的帮助信息是什么概念

NAME
groupmems - administer members of a user’s primary group

groupmems命令的主要功能是用来管理用户主要组群的成员,由于这个命令会通过读取/etc/gshadow /etc/group文件显示对应的组群信息,普通用户无法使用这个命令来进行查看或者添加的操作,因此只有在root用户下才可以执行该命令。
来看下这个命令的语法是如何使用的

语法格式

该命令语法格式是:groupmems 【参数】【动作】

groupmems -a user_name | -d user_name | [-g group_name
] | -l | -p

基本参数

命令的参数有以下这些信息

选项The options which apply to the groupmems command are:-a, --add user_nameAdd a user to the group membership list.If the /etc/gshadow file exist, and the group has no entry in the /etc/gshadow file, a new entry will be created.-d, --delete user_name从组成员列表中删除用户。If the /etc/gshadow file exist, the user will be removed from the list of members and administrators of the group.If the /etc/gshadow file exist, and the group has no entry in the /etc/gshadow file, a new entry will be created.-g, --group group_name超级用户可以指定修改哪个组的组成员列表。-h, --help现实帮助信息并退出。-l, --list列出组成员。-p, --purge从组成员列表中删除所有用户。If the /etc/gshadow file exist, and the group has no entry in the /etc/gshadow file, a new entry will be created.-R, --root CHROOT_DIRApply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.

这个命令主要用到的参数实际上还是以用户的增删改查为主,以表格的格式显示,一起来看看有哪些实际参数。

-a 添加用户到组成员列表
-d 从组成员列表中删除用户
-g 修改所有组的组成员列表
-l 列出组成员
-p 从组成员列表中删除所有用户

参考实例

1.添加用户到dev组

这里提前创建了一个dev组以及张三和李四两个用户,相当于是给用户添加了附加组。

[root@localhost ~]# groupadd dev
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# useradd lisi
[root@localhost ~]# groupmems -a lisi -g dev
[root@localhost ~]# id zhangsan
uid=1001(zhangsan) gid=1003(zhangsan)=1003(zhangsan),1002(dev)
[root@localhost ~]# id lisi
uid=1002(lisi) gid=1004(lisi)=1004(lisi),1002(dev)

2.查看有哪些成员属于dev组

可以使用-l参数来查看dev组的组成员信息

[root@localhost ~]# groupmems -g dev -l
zhangsan  lisi 

3.删除dev组的单个成员

这里我们删除这个组里的李四用户,将他移除到组外,执行命令后,在使用-l查看这个组成员只剩下了张三。

[root@localhost ~]# groupmems -d lisi -g dev
[root@localhost ~]# groupmems -g dev -l
zhangsan 

4.清空组的所有成员

前面删除得只剩下了一个组成员,让测试的效果更加明显,我们重新增加几个成员到dev组中。

[root@localhost ~]# useradd -g wangwu wangwu
[root@localhost ~]# groupmems -a wangwu -g dev
[root@localhost ~]# groupmems -a lisi -g dev
[root@localhost ~]# groupmems -g dev -l
zhangsan  wangwu  lisi 
#清空所有的组成员
[root@localhost ~]# groupmems -p -g dev
[root@localhost ~]# groupmems -g dev -l

5.usermod与groupmems的共同之处

实际上usermod这个命令也可以将用户添加到附加组内;我们用两个用户进行对比,usermod添加张三用户到dev组,groupmems添加李四用户到dev组。
先清空组的所有成员,可以看到这两个命令都可以将用户添加到对应的组,并且groupmems命令显示组成员的信息没有问题。

[root@localhost ~]# groupmems -p -g dev
[root@localhost ~]# usermod -G dev zhangsan
[root@localhost ~]# groupmems -a lisi -g dev
[root@localhost ~]# groupmems -g dev -l
zhangsan  lisi 
[root@localhost ~]# id zhangsan
uid=1001(zhangsan) gid=1003(zhangsan)=1003(zhangsan),1002(dev)
[root@localhost ~]# id lisi
uid=1002(lisi) gid=1004(lisi)=1004(lisi),1002(dev)

6.结合setfacl命令一起使用

昨天讲了setfacl命令,可以用来设置文件访问控制列表,这个可以用来设置用户,也可以用来设置组。
给dev组成员的用户设置读写执行的权限,让它可以成功访问/data目录。

[root@localhost ~]# groupmems -l -g dev
zhangsan  lisi 
[root@localhost ~]# mkdir /data
[root@localhost ~]# touch /data/{1..6}.txt       
[root@localhost ~]# setfacl -Rm g:dev:rwx /data
[root@localhost ~]# setfacl -dRm g:dev:rwx /data
[root@localhost ~]# getfacl /data
getfacl: Removing leading '/' from absolute path names
# file: data
# owner: root
# group: root
user::rwx
group::r-x
group:dev:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:dev:rwx
default:mask::rwx
default:other::r-x
[zhangsan@localhost ~]$ ll -d /data
drwxrwxr-x+ 2 root root 84 36 15:51 /data
[root@localhost ~]# ll /data
总用量 0
-rw-rwxr--+ 1 root root 0 36 15:49 1.txt
-rw-rwxr--+ 1 root root 0 36 15:49 2.txt
-rw-rwxr--+ 1 root root 0 36 15:49 3.txt
......
[root@localhost ~]# su - zhangsan
[zhangsan@localhost ~]$ echo "123456" > /data/1.txt
[zhangsan@localhost ~]$ cat !$
cat /data/1.txt
123456

总结

如果要想查看这个组有什么成员添加进来了,使用这个命令就正好合适,并且这个命令也可以用来增加成员到组内。如果觉得以上内容还行的,可以点赞支持一下!
在这里插入图片描述