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_name
Add 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_DIR
Apply 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 3月 6 15:51 /data
[root@localhost ~]# ll /data
总用量 0
-rw-rwxr--+ 1 root root 0 3月 6 15:49 1.txt
-rw-rwxr--+ 1 root root 0 3月 6 15:49 2.txt
-rw-rwxr--+ 1 root root 0 3月 6 15:49 3.txt
......
[root@localhost ~]# su - zhangsan
[zhangsan@localhost ~]$ echo "123456" > /data/1.txt
[zhangsan@localhost ~]$ cat !$
cat /data/1.txt
123456
总结
如果要想查看这个组有什么成员添加进来了,使用这个命令就正好合适,并且这个命令也可以用来增加成员到组内。如果觉得以上内容还行的,可以点赞支持一下!