Linux命令:用于管理 Linux 系统中用户组的命令行工具gpasswd详解

news2024/11/26 10:43:17

目录

一、概述

二、使用方法

1、 基本语法

2、 常用选项

(1)无选项(仅组名)

(2)-a 用户

(3)-d 用户

(4)-M 用户列表

(5)-A 管理员列表

(6) -r

(7) -R

3、获取帮助

三、 示例

1. 添加用户到组

2. 删除用户从组

3. 设置组的新成员列表

4. 设置组的管理员

四、使用场景

1、用户管理

2、批量操作

3、自动化脚本

4、安全审计

五、其他事项


一、概述

        gpasswd 是一个用于管理 Linux 系统中用户组的命令行工具。它允许系统管理员添加、删除和修改用户组成员,以及设置组的密码(尽管现代系统中很少使用组密码)。gpasswd 命令主要修改 /etc/group 和 /etc/gshadow 文件。

二、使用方法

1、 基本语法

        gpasswd [选项] 组名

2、 常用选项

(1)无选项(仅组名)

       gpasswd 组名

      设置或更改组密码。

(2)-a 用户

       gpasswd -a 用户名 组名

       - 将指定的用户添加到组中。

(3)-d 用户

       gpasswd -d 用户名 组名

       - 从组中删除指定的用户。

(4)-M 用户列表

       gpasswd -M 用户1,用户2,用户3 组名   

    - 设置组的新成员列表,用逗号分隔。这将替换当前组中的所有成员。

(5)-A 管理员列表

       gpasswd -A 管理员1,管理员2,管理员3 组名

       - 设置可以管理该组的管理员列表,用逗号分隔。这些管理员可以使用 gpasswd 命令来更改组成员或组密码。

(6) -r

       gpasswd -r 组名

       - 移除组的密码。如果组有密码,此选项会将其删除。

(7) -R

       gpasswd -R 组名

       - 禁止组成员密码的使用。这在现代系统中很少用到,因为组密码已经不太常用。

3、获取帮助

        可以使用如下命令:

             gpasswd -h

        实际操作如下图所示:

三、 示例

1. 添加用户到组

    使用如下命令:

    sudo gpasswd -a john testGroups

       - 将用户 john 添加到 testGroups 组。

从结果中可以看出,john 已经添加到 testGroups 组了。

2. 删除用户从组

    使用如下命令:

    sudo gpasswd -d jane testGroups

       - 将用户 jane 从 testGroups 组中删除。

从结果中可以看出,jane原来在testGroups组中,现在从testGroups 组删除了。

3. 设置组的新成员列表

    使用如下命令:

    sudo gpasswd -M alice,bob,charlie testGroups

       - 将 testGroups 组的成员设置为 alice、bob 和 charlie。

        如图可以看出,原来的组员被清楚了,新的组员设置成功。

4. 设置组的管理员

    使用如下命令:

    sudo gpasswd -A alice,manager1 testGroups

       - 将 alice 和 manager1 设置为 testGroups 组的管理员。

四、使用场景

        gpasswd 命令常用场景包括如下:

1、用户管理

        在管理用户权限时,经常需要将用户添加到或从用户组中移除,以授予或撤销特定的权限。

2、批量操作

        当需要批量管理多个用户组成员时,gpasswd 提供了方便的命令行工具来进行操作。

3、自动化脚本

        在编写自动化脚本来管理用户组时,gpasswd 可以嵌入到脚本中,实现自动化的用户组管理。

4、安全审计

        在进行安全审计时,可以使用 gpasswd 来查看用户组成员,确保只有授权用户才能访问特定资源。

五、其他事项

        1、修改组成员时,通常需要 root 权限或使用 sudo。

        2、组密码在现代 Linux 系统中已经很少使用,更多的是通过访问控制列表(ACL)或特定服务配置来实现更细粒度的权限控制。

        3、修改用户组密码时要谨慎,尤其是当用户组包含多个用户时,密码的更改会影响到所有组成员。

        4、在使用 -M 选项设置用户组成员时,如果指定了用户组成员列表,那么原有的成员将被替换。

        gpasswd 是一个非常实用的工具,可以帮助系统管理员高效地管理用户组成员和用户组密码,系统管理员可以灵活地管理用户组,确保系统的安全性和易用性。

        通过简单的命令行操作,可以轻松地添加或删除用户组成员,设置用户组密码,并查看用户组成员列表。在日常的系统管理工作中,gpasswd 是不可或缺的工具之一。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2193073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构设计师-下午案例题(2021年下半年)

1.试题一(共25分) 阅读以下关于软件架构设计与评估的叙述在答题纸上回答问题1和问题2。 【说明】某公司拟开发一套机器学习应用开发平台支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程&#xf…

【Linux】信号知识三把斧——信号的产生、保存和处理

目录​​​​​​​ 1、关于信号的前置知识 1.1.什么是信号? 1.2.为什么要学习信号? 1.3.如何学习信号? 1.4.一些常见的信号 1.5.信号的处理方式 1.6.为什么每一个进程都可以系统调用? 2.信号的产生 2.1.kill命令产生信号…

[Python学习日记-40] 函数进阶之装饰器

[Python学习日记-40] 函数进阶之装饰器 简介 引子 什么是装饰器 装饰器终结版 装饰器的层层叠加 简介 在前面铺垫了这么多终于该讲到重点了,前面说的匿名函数、高阶函数、闭包等等都是为了这篇文章所讲的装饰器而使用的,本篇文章将会一一个故事通俗…

个人网站,怎么操作才能提升个人网站的流量

运营个人网站以提升流量是一个综合性的过程,涉及内容优化、技术调整、用户体验提升以及外部推广等多个方面。以下是一些专业建议,旨在帮助个人网站运营者有效提升网站流量: 1.精准关键词研究与优化 -关键词研究:利用工具如谷歌…

关于 Python 3.13 你所需要知道的几点

什么是全局解释器锁 (GIL)? 自20世纪80年代末,Guido Van Rossum在荷兰阿姆斯特丹东部的一个科技园区开始开发Python编程语言,它最初被设计为一种单线程的解释型语言。这到底是什么意思呢? 你可能会听说,编程语言分为解…

C++-容器适配器- stack、queue、priority_queue和仿函数

目录 1.什么是适配器 2.deque 1.简单了解结构 2.deque的缺陷 3.为什么选择deque作为stack和queue的底层默认容器 3.stack(栈) 4.queue(队列) 5.仿函数 6.priority_queue(优先级队列)(堆…

IDEA 2024.3 预览:把开发者感动到哭了

幸运的人, 一生都被童年治愈; 不幸的人, 一生都在治愈童年 只有勇敢的人 和有钱的人才能先享受世界 缘分就是我还不知道 会见到你就误打误撞般 遇见了你 最近 IDEA 又发布了最新的 2024.3 的预览版本 EAP,把开发者的心激动的…

躺平成长-第四周的开发日记

回顾自己的小程序,现在自己有饮食/跑步/养生操/学习/学历提升/等多样化的kp值计算公式页面,自己tarbar导航页面有两个内容,kp值计算,躺平显示,单纯这些功能自己使用下来,会感到一种疲惫!&#x…

详解Java中的堆内存

详解Java中的堆内存 堆是JVM运行数据区中的一块内存空间,它是线程共享的一块区域(注意了!!!),主要用来保存数组和对象实例等(其实对象有时候是不在堆中进行分配的,想要了…

霓虹灯数字时钟(可复制源代码)

文章目录 一、效果演示二、CodeHTMLCSSJavaScript 三、实现思路拆分CSS 部分JavaScript 部分 四、源代码 一、效果演示 文末可一键复制完整代码 二、Code HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><…

我对软件工程的理解

1 引言 从事软件行业这么年&#xff0c;写了10年代码&#xff0c;又从事了多年的项目产品方面的工作&#xff0c;一些每天用到的软件工程的方法&#xff0c;虽然天天都在用但一些概念总感觉似是而非&#xff0c;正好借假期的时间&#xff0c;好好整理下&#xff0c;以供自己或…

AI配音(声音克隆)

Fish Audio: Free Generative AI Text To Speech & Voice Cloning 【【AI配音】终于找到免费 & 小白友好的声音克隆软件了&#xff01;真人相似度98%!】https://www.bilibili.com/video/BV1MwbFeCE2X?vd_source3cc3c07b09206097d0d8b0aefdf07958 我终于找到总这3款免…

Java中的封装、继承、多态

目录 封装 概念 包 继承 多态 向上转型 一、直接赋值 二、方法传参 三、返回值 向上转型注意事项 向下转型 格式 重写 重写和重载的区别 动态绑定 静态绑定和动态绑定 封装 概念 简单来说就是套壳屏蔽细节。 举例&#xff1a; 想要访问它们时需要一些“接口”…

Codeforces Rund 977 div2 个人题解(A~E1)

Codeforces Rund 977 div2 个人题解(A,B,C1,C2,E1) Dashboard - Codeforces Round 977 (Div. 2, based on COMPFEST 16 - Final Round) - Codeforces 火车头 #define _CRT_SECURE_NO_WARNINGS 1#include <algorithm> #include <array> #include <bitset> …

Java之二叉树的基本操作实现

1. 模拟实现二叉树前&#xff0c;我们要先表示树&#xff0c;首先定义一个内部类&#xff0c;当作二叉树节点 static class TreeNOde{char val;//存放二叉树的值TreeNOde left;//指向左子树的引用TreeNOde right;//指向右子树的引用//构造方法&#xff0c;用于实例化树的节点p…

信息学奥赛复赛复习13-CSP-J2021-02插入排序-排序稳定性、插入排序、sort排序、结构体、计数排序

PDF文档回复:20241006 1P7910 [CSP-J 2021] 插入排序 [题目描述] 插入排序是一种非常常见且简单的排序算法。小 Z 是一名大一的新生&#xff0c;今天 H 老师刚刚在上课的时候讲了插入排序算法。 假设比较两个元素的时间为 O(1)&#xff0c;则插入排序可以以 O(n^2) 的时间复…

第五节——转移表(让你不再害怕指针)

文章目录 制作简易计算器什么是转移表&#xff1f;switch函数实现函数指针数组实现 制作简易计算器 要求&#xff1a;制作一个简易计算器&#xff0c;可以进行* / - 等功能运算。 什么是转移表&#xff1f; 指的就是通过函数指针数组的方式通过数组去调用里面的函数&#x…

LeetCode讲解篇之239. 滑动窗口最大值

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们维护一个长度为k的窗口&#xff0c;然后窗口从数组最左边一直移动到最右边&#xff0c;记录过程中窗口中的最大值&#xff0c;就是答案 我们每次查询长度为k的窗口最大值是什么时间复杂度是O(k)的&#xff0…

软件验证与确认实验二-单元测试

目录 1. 实验目的及要求.................................................................................................... 3 2. 实验软硬件环境.................................................................................................... 3 …

idea插件市场安装没反应

https://plugins.jetbrains.com/idea重启后还是不行那就