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 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
总结
如果要想查看这个组有什么成员添加进来了,使用这个命令就正好合适,并且这个命令也可以用来增加成员到组内。如果觉得以上内容还行的,可以点赞支持一下!

相关文章:
Linux基础命令-groupmems管理组群的成员
Linux-usermod修改用户 Linux-useradd创建用户 Linux-userdel删除用户 Linux基础命令-chown修改文件属主 Linux基础命令-chmod修改文件权限 groupmems 命令介绍 先来看看这个命令的帮助信息是什么概念 NAME groupmems - administer members of a user’s primary group group…...
css系统化学习
元素的语义化 SEO:搜索引擎优化 根据搜索引擎展示的规律,语义化的元素更容易被展示获得更多浏览量 字符编码 css历史 内联样式(inline) style"内容全写在等号后面,双引号里面,多个之间用;隔开" 内部样式(internal) style写在head里面,在title下面,不是在body内, …...
AI的简单介绍
什么是AI? AI 是 Artificial Intelligent 的缩写,是我们通常意义上说的人工智能。 简单来说就是让机器能够模拟人类的思维能力,让它能够像人一样感知、思考甚至决策。 为什么要开发AI? 因为在过去,都是我们学习机器…...
【Linux】-- 进程间通讯
目录 进程间通讯概念的引入 意义(手段) 思维构建 进程间通信方式 管道 站在用户角度-浅度理解管道 匿名管道 pipe函数 站在文件描述符角度-深度理解管道 管道的特点总结 管道的拓展 单机版的负载均衡 匿名管道读写规则 命名管道 前言 原理…...
STM32模拟SPI时序控制双路16位数模转换(16bit DAC)芯片DAC8552电压输出
STM32模拟SPI时序控制双路16位数模转换(16bit DAC)芯片DAC8552电压输出 STM32部分芯片具有12位DAC输出能力,要实现16位及以上DAC输出需要外挂DAC转换ASIC。 DAC8552是双路16位DAC输出芯片,通过SPI三线总线进行配置控制输出。这里…...
基于intel x86+fpga智能驾驶舱和高级驾驶辅助系统硬件设计(二)
系统功能架构及各模块功能介绍 智能驾驶舱和高级驾驶辅助系统是一个车载智能终端嵌入式平台,系统是一个能够运行 虚拟化操作系统的软件和硬件的综合体。本文的车载主机包括硬件主控处理器、电源管理芯 片、存储设备、输入输出控制器、数字仪表系统系统、后座娱乐系统…...
oneblog_justauth_三方登录配置【Github】
文章目录oneblog添加第三方平台github中创建三方应用完善信息登录oneblog添加第三方平台 1.oneblog管理端,点击左侧菜单 网站管理——>社会化登录配置管理 ,添加一个社会化登录 2.编辑信息如下,选择github平台后复制redirectUri,然后去github获取cl…...
自行车轮胎充气泵PCBA方案
轮胎充气泵PCBA方案由多种元器件设计组合而成,PCBA是英文Printed Circuit Board Assembly 的简称,也就是说PCB空板经过SMT上件,或经过DIP插件的整个制程,简称PCBA。PCBA是一个电子产品功能实现的最原始的状态,未经过任…...
200 22222
101. blob.png 新到组织的项目经理被分配管理一个具有多名干系人的项目。项目经理希望确定哪些干系人是内部的,哪些干系人是外部的。若要了解干系人的角色,项目经理应该查阅哪一份文件? A. 干系人登记册 B. 干系人分析 C. 干系人管理计划 D.…...
<JVM上篇:内存与垃圾回收篇>13 - 垃圾回收器
笔记来源:尚硅谷 JVM 全套教程,百万播放,全网巅峰(宋红康详解 java 虚拟机) 文章目录13.1. GC 分类与性能指标13.1.1. 垃圾回收器概述13.1.2. 垃圾收集器分类13.1.3. 评估 GC 的性能指标13.2. 不同的垃圾回收器概述13.…...
广义状态平均法功率变换器建模分析
两种状态平均法在功率变换器建模的应用比较 [!info] Bibliography [1] 高朝晖, 林辉张晓斌 & 吴小华, “两种状态平均法在功率变换器建模的应用比较,” 计算机仿真, no. 241-244248, 2008. [!note] 状态空间平均法采用直流量近似(线性系统模型)&…...
基于Spring Boot的快递管理系统
文章目录 项目介绍主要功能截图:登录我要收件我要寄件个人信息我收到的我寄出的物流管理用户管理部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项…...
nerdctl不完全使用指南(开发者)
目录 背景 环境配置 1.编译golang可执行文件 2.快速构建镜像 背景 k8s在1.22版本放弃docker作为runtime后采用了containerd,以containerd作为runtime的k8s安装方法已经出现了很多开源集成工具或者解决方案,在此不做赘述。本篇只要是描述在docker被取…...
【独家】华为OD机试 - 分糖果(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
八股总结(二)计算机网络与网络编程
layout: post title: 八股总结(二)计算机网络与网络编程 description: 八股总结(二)计算机网络与网络编程 tag: 八股总结 文章目录计算机网络网络模型网络体系结构在浏览器输入一个网址后回车,背后都发生了什么&#x…...
ChatGPT 一本正经的胡说八道 那也看看原理吧
最近,ChatGPT横空出世。这款被马斯克形容为“强大到危险”的AI,不但能够与人聊天互动,还能写文章、改代码。于是,人们纷纷想让AI替自己做些什么,有人通过两分钟的提问便得到了一篇完美的论文,有人希望它能帮…...
ChatGPT:一个人机环境系统交互的初级产品
从人机环境系统智能的角度看,Chatgpt就是一个还没有开始上道的系统。“一阴一阳之谓道”,Chatgpt的“阴”(默会隐性的部分)尚无体现,就是“阳”(显性描述的部分)还停留在人类与大数据交互的浅层…...
PaddlePaddle本地环境安装(windows11系统)
写在前面: 这里是关于win11安装PaddlePaddle的步骤和方法,建议参考官方的方法。截止2023年3月份,PaddlePaddle的版本是2.4.2。 官方参考:飞桨PaddlePaddle快速安装使用方法 建议使用Anaconda安装 ,关于Anaconda创建环境的可以借鉴:深度学习Anaconda环境搭建(比较全面)…...
DBeaver 超级详细的安装与使用
一、下载DBeaver DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费(DBeaver Community) 的多平台数据库工具。 DBeaver支持80多个数据…...
计算机网络的166个概念 你知道几个第七部分
计算机网络传输层 可靠数据传输:确保数据能够从程序的一端准确无误的传递给应用程序的另一端。 容忍丢失的应用:应用程序在发送数据的过程中可能会存在数据丢失的情况。 非持续连接:每个请求/响应会对经过不同的连接,每一个连接…...
Potrace实战指南:5分钟掌握位图转矢量的开源神器
Potrace实战指南:5分钟掌握位图转矢量的开源神器 【免费下载链接】potrace [mirror] Tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image 项目地址: https://gitcode.com/gh_mirrors/pot/potrace 还在为位图放大…...
STM32H743 FDCAN实战:手把手教你调试CAN节点错误计数器与Bus_Off状态
STM32H743 FDCAN实战:从寄存器到代码的Bus_Off恢复指南 当你的STM32H743项目突然出现CAN通信中断,调试器里FDCAN_PSR寄存器的BOFF位亮起红灯时,真正的挑战才刚刚开始。这不是普通的通信故障,而是触发了CAN协议中最严厉的惩罚机制—…...
RK3568 Debian系统Docker安装与ARM64容器化部署实战指南
1. 项目概述与核心价值最近在折腾一块基于瑞芯微RK3568的开发板,想在上面跑一些服务,自然而然地就想到了Docker。毕竟,Docker带来的环境隔离和便捷部署,对于嵌入式开发和边缘计算场景来说,简直是“神器”。但当我真正动…...
微信网页版访问终极指南:如何用wechat-need-web插件轻松解锁微信网页版
微信网页版访问终极指南:如何用wechat-need-web插件轻松解锁微信网页版 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无…...
Rust数据库实战:Rusqlite SQLite深度解析
Rust数据库实战:Rusqlite SQLite深度解析 引言 在Rust开发中,SQLite是构建轻量级数据库应用的核心技术。作为一名从Python转向Rust的后端开发者,我深刻体会到Rusqlite在SQLite操作方面的优势。Rusqlite是Rust生态中最流行的SQLite客户端库&am…...
从零构建Claude代码:深入Transformer架构与自回归生成实现
1. 项目概述:从零构建你自己的Claude代码最近在开发者社区里,一个名为“woodx9/build-your-claude-code-from-scratch”的项目引起了我的注意。这个标题直译过来就是“从零开始构建你的Claude代码”,它指向了一个非常具体且富有挑战性的目标&…...
GSE魔兽世界宏编辑器:高级序列化技术与智能战斗自动化解决方案
GSE魔兽世界宏编辑器:高级序列化技术与智能战斗自动化解决方案 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Macr…...
shein armortoken/smdeviceid/anti/x-gw-auth算法分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包 内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!侵权通过头像私信或名字简介叫我删除博…...
知识竞赛的“复活”机制:给落后者第二次机会
🔄 知识竞赛的“复活”机制:给落后者第二次机会包容偶然 挖掘潜力 见证逆袭🎯 引言在知识竞赛中,胜负往往取决于临场发挥、题型适应甚至运气。一次抢答失误、一道冷门题目,都可能让准备充分的选手遗憾离场。…...
超自动化巡检:如何应对海量增长的基础设施?
在数字化转型的浪潮中,企业IT基础设施正经历着前所未有的指数级增长。从物理服务器到虚拟机,从容器集群到云原生环境,从传统数据中心到边缘节点,运维对象的数量与种类正在以几何级数膨胀。某大型企业单日告警量可达130万条&#x…...
