Linux命令:用于创建新的用户组的命令行工具groupadd 详解

news2024/9/22 3:45:03

目录

一、概述

二、组标识符GID

1、定义

(1)标识符

(2)与UID的关系

2、GID的作用

(1)用户组管理

(2)文件权限控制

(3)用户权限管理

(4)系统安全和稳定性

三、用法

1、语法

2、常用选项

3、获取帮助

四、示例

1. 创建一个新组

2. 创建具有特定GID的组

3. 创建系统组

五、注意事项


一、概述

        groupadd 命令在 Linux 系统中用于创建一个新的用户组。这个命令通常需要 root 用户权限来执行,因为它会修改系统级别的用户组信息。用户组允许系统管理员将多个用户组织在一起,以便对这些用户进行统一管理,比如分配文件访问权限、执行特定命令等。

二、组标识符GID

        GID在Linux系统中代表组标识符(Group Identifier),它是用于唯一标识一个用户组的数字。GID在用户和文件权限管理中扮演着至关重要的角色。

1、定义

(1)标识符

        GID是一个整数,用于在Linux系统中唯一标识一个用户组。

(2)与UID的关系

        每个用户都有一个唯一的用户标识符(UID),而每个组则有一个唯一的GID。UID和GID都是整数,它们之间没有直接关系,但共同构成了Linux系统的用户身份和权限控制体系。

2、GID的作用

(1)用户组管理

   - GID用于将多个用户组织到一起,形成一个用户组。这样,系统管理员可以更方便地对这些用户进行统一管理,比如分配文件访问权限、执行特定命令等。

   - 通过GID,系统可以识别用户所属的用户组,并根据该组的权限设置来控制用户对文件或目录的访问。

(2)文件权限控制

   - 在Linux系统中,文件和目录的访问权限分为三组:所有者、组和其他用户。GID用于表示文件或目录所属的组,从而确定该组的成员对该文件或目录的访问权限。

   - 如果文件或目录的组权限允许读(r)、写(w)或执行(x),那么该组的所有成员都将拥有相应的权限。这种机制有助于实现细粒度的权限控制,确保系统的安全性和稳定性。

(3)用户权限管理

   - 用户可以通过修改自己的主用户组或在创建文件时指定一个用户组来改变文件所属的用户组。这样,用户可以根据自己的需求灵活地管理文件和目录的访问权限。

   - 系统管理员也可以通过GID来管理用户组的成员身份,将用户添加到新的组或从组中删除用户。这有助于实现更灵活的用户权限管理策略。

(4)系统安全和稳定性

   - 通过GID,Linux系统能够确保只有具有适当权限的用户和用户组才能访问敏感文件或执行关键操作。这有助于防止未授权访问和数据泄露等安全问题。

   - 同时,GID也支持多用户环境下的资源共享和协作。通过将用户组织到不同的组中,系统可以确保每个用户组都只能访问其所需的资源,从而避免资源冲突和不必要的权限扩展。

三、用法

1、语法

groupadd [选项] 组名

2、常用选项

- -g, --gid GID:为新组指定一个特定的组ID(GID)。如果不指定,系统会从GID池中自动选择一个可用的GID。

- -o, --non-unique:允许创建一个具有非唯一GID的组。通常,GID在系统内是唯一的,但这个选项允许创建一个与其他组具有相同GID的组(尽管这通常不推荐)。

- -r, --system:创建一个系统组。系统组是预留给系统使用的,通常它们的GID小于某个特定值(例如1000,但这个值可能因发行版而异)。系统组通常不需要用户登录即可存在。

- -K, --key KEY=VALUE:覆盖 /etc/login.defs 文件中的配置。这个选项允许为新组设置一些特定的配置值,这些值通常会在 /etc/login.defs 文件中定义。

- -p, --password PASSWORD:为新组设置密码。然而,出于安全考虑,这个选项通常不推荐使用,因为组密码在 Linux 系统中很少使用。如果需要设置或更改组密码,建议使用 gpasswd 命令。

3、获取帮助

 输入如下命令:

        Groupadd --h

        出现如下图所示的帮助信息:

四、示例

1. 创建一个新组

   假设想创建一个名为 developers 的新组,可以使用以下命令:  

   sudo groupadd developers  

   这将创建一个名为 developers 的新组,并自动为其分配一个唯一的GID。

   实际操作如下:

2. 创建具有特定GID的组

   如果想为新组指定一个特定的GID,可以使用 -g 选项。例如,创建一个GID为 1002 的 admins 组:  

   sudo groupadd -g 1002 admins  

   实际操作如下:

3. 创建系统组

   如果想创建一个系统组(尽管这通常不是日常操作),可以使用 -r 选项。例如:  

   sudo groupadd -r systemd-journal  

        这个示例中的 systemd-journal 是一个已经存在的系统组名,仅用于说明目的。在实际情况中,我们不会想要创建一个已存在的组名。

五、注意事项

        1、在执行 groupadd 命令之前,请确保新组名在系统中是唯一的。

        2、如果指定了 -g 选项并尝试使用一个已被其他组使用的GID,groupadd 命令将失败(除非使用了 -o 选项)。

        3、系统组通常用于系统服务和管理任务,而不是用于普通用户。

        4、创建组后,可能还需要将用户添加到该组中,这可以通过 usermod 命令的 -aG 选项或 gpasswd 命令的 -a 选项来实现。

        5、GID是Linux系统中用于标识用户组的重要概念。它在用户组管理、文件权限控制和用户权限管理中发挥着核心作用。


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


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

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

相关文章

threejs性能优化之gltf文件压缩threejs性能优化之glb文件压缩

在使用Three.js进行3D图形开发时,GLTF(GL Transmission Format)文件因其高效性和灵活性而广受欢迎。然而,随着模型复杂度的增加,GLTF文件的大小也会显著增加,这可能会对加载时间和渲染性能产生负面影响。为…

插入与冒泡排序(C++)

\一、插入排序 1 简介 插入排序,也称为直接插入排序,其排序思想和我们平时打扑克牌时排序类似。 2 算法步骤 将第一个元素看作已排序序列,第二个到最后一个看作未排序序列。 第二个元素,与之前已排序号的序列进行对比&#x…

【我的 PWN 学习手札】tcache stash with fastbin double free —— tcache key 绕过

参考看雪课程:PWN 探索篇 前言 tcache key 的引入使得 tcache dup 利用出现了困难。除了简单利用 UAF 覆写 key 或者House Of Karui 之外,还可以利用 ptmalloc 中的其他机制进行绕过。 一、Tcache Stash with Fastbin Double Free 之前是 double free …

软考中级软件设计师——知识产权学习记录

软考中级软件设计师——知识产权 著作权人身权著作财产权著作权侵权行为 计算机软件著作权基本知识计算机软件著作权侵权 专利地域性与专利权申请基本知识专利权侵权 职务作品委托开发商业秘密权基本知识商业秘密侵权 商标权与商标注册基本知识商标权侵权 著作权 著作权也称为…

Spring的任务调度

Spring的任务调度 1.概述 Spring框架为任务调度提供了专门的解决方案。在Spring框架的org.springframework.scheduling包中,通过对JDK 的ScheduledExecutorService接口的实例进行封装,对外提供了一些注解和接口,为开发者处理定时任务提供了…

网安面试会问到的:http的长连接和短连接

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

探索 Python 的火焰:Fire 库的神秘力量

文章目录 🔥 探索 Python 的火焰:Fire 库的神秘力量第一部分:背景介绍第二部分:Fire 库是什么?第三部分:如何安装 Fire?第四部分:简单库函数使用方法第五部分:场景应用第…

32.递归、搜索、回溯之floodfill算法

0.简介 1.图像渲染 . - 力扣(LeetCode) 题目解析 算法原理 代码 class Solution {int[] dx { 0, 0, 1, -1 };int[] dy { 1, -1, 0, 0 };int m, n;int prev;public int[][] floodFill(int[][] image, int sr, int sc, int color) {if (image[sr][sc]…

yolov5足球运动分析-速度分析-足球跟踪

足球分析项目 引言 在现代体育分析领域,利用先进的计算机视觉技术和机器学习模型对比赛视频进行深入解析已成为一种趋势。本项目旨在通过YOLO(You Only Look Once)这一顶级的人工智能目标检测模型来识别并跟踪足球比赛中的球员、裁判以及足球…

【每日一题】LeetCode 2374.边积分最高节点(图、哈希表)

【每日一题】LeetCode 2374.边积分最高节点(图、哈希表) 题目描述 给定一个有向图,图中包含 n 个节点,节点编号从 0 到 n - 1。每个节点都有一个出边,指向图中的另一个节点。图由一个长度为 n 的整数数组 edges 表示…

江协科技STM32学习- P15 TIM输出比较

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

6张图掌握提示词工程师工作范围与工作技巧(提示词原理篇)

在人工智能的疆域中,提示词工程师扮演着至关重要的角色。他们精心设计的话语,是引导AI模型理解人类需求、激发创造力的关键。如同指挥官的号令,提示词工程师的每一个提问,都让AI的潜力得到释放,让技术与智慧的对话更加…

如何有效检测住宅IP真伪?

在当今的互联网时代,住宅IP(即家庭用户通过宽带服务提供商获得的IP地址)在跨境电商、广告投放、网络安全等多个领域扮演着重要角色。然而,随着网络环境的复杂化和欺诈行为的增多,如何有效检测和辨别住宅IP的真伪成为了…

2024年csp-j 初赛 真题+答案解析

恭喜CSP-J组考生完成第一轮认证! 今天是CSP-J/S初赛的考试日,首先要祝贺所有参加CSP-J组考试的同学顺利完成第一轮认证!

C++中的new与delete

目录 1.简介 2.底层 1.简介 new是升级版的malloc,它会先开空间再去调用构造函数。 delete是升级版的free,它会先调用析构函数再free掉空间。 class A { public:A(int a10, int b10){a a1;b b1;}private:int a;int b; };int main() {//new会先开空间…

大数据Flink(一百二十三):五分钟上手Flink MySQL连接器

文章目录 五分钟上手Flink MySQL连接器 一、创建数据库表 二、​​​​​​创建session集群 三、源表查询 四、​​​​​窗口计算 五、​​​​​​结果数据写回数据库 五分钟上手Flink MySQL连接器 MySQL Connector可以将本地或远程的MySQL数据库连接到Flink中&#x…

以太网接口MII 和 RMII

媒体独立接口 (MII) 是连接以太网MAC (媒体访问控制) 设备和PHY (物理层) 设备的标准化方法。其主要目的是促进以太网系统这两个基本组件之间的通信。 媒体独立接口 (MII) 介质独立接口 (MII) 是由 IEEE 802.3 标准定义的并行接口。MII 的管理接口允许配置和控制多个 PHY 设备…

安装Win11 24H2如何跳过BitLocker加密

今天来给大家分享一下在安装 Windows11 24H2 时,如何跳过BitLocker加密的小方法,Windows11 24H2版本默认自动为用户开启Bitlocker 加密,很多用户不知道自己设备已被偷偷加密,这样也可能会导致磁盘性能严重损失,特别是4…

计算机毕业设计 数字化农家乐管理平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

使用Diskgenius系统迁移

使用Diskgenius系统迁移 1、使用系统迁移2、注意点3、新备份的系统盘装在电脑上可能出现盘符错乱导致开机不进入桌面情况 1、使用系统迁移 参考视频: DiskGenius无损系统迁移,换硬盘无需重装系统和软件 2、注意点 1)新的硬盘里面的所有资料…