当前位置: 首页 > news >正文

CentOS 7 权限管理实战指南:用户组管理相关命令详解

前言

深入了解 CentOS 7 用户组管理的命令,掌握关键的用户组操作技巧。从创建和删除用户组、修改组属性,到设置组密码和管理组成员,这篇文章详细介绍了 CentOS 7 系统下常用的用户组管理命令,为读者小伙伴提供了实用而全面的指南。无论是初学者还是有经验的用户,都能在这篇文章中找到对用户组管理的实际运用方法,以便加强你的 Linux 系统管理技能,提高工作效率。

Linux权限控制的基本工作原理

Linux系统的权限管理基本原理是基于用户和用户组的访问控制。每个文件和目录都有一个所有者和一个所属用户组,以及对应的读、写、执行权限。那什么是所有者和所属组呢?又是如何控制权限呢?

  • 所有者(Owner)是指创建该文件或目录的用户。所有者具有最高权限,可以对文件或目录进行读、写和执行操作,也可以修改权限和更改所有者。
  • 所属用户组(Group)是指将文件或目录分配给某个特定用户组。所属用户组的成员具有与所有者相同的权限,但不能更改文件或目录的所有者。通常情况下,文件或目录的所属用户组与创建它的用户的默认用户组相同。
  • Linux系统有三种权限,分别是可读、可写、可执行,用数字4、2、1分别表示可读、可写、可执行。文件和目录的权限可以分为三部分,分别是所有者权限、所属用户组权限和其他用户权限,其中每一部分又分别包括读、写、执行权限。例如,一个文件的权限为-rw-r--r--,其中第一位表示这是一个普通文件;后面的三组r、w、x分别表示所有者、所属用户组、其他用户的读、写、执行权限。具体来说,这个文件的所有者具有读和写的权限,所属用户组和其他用户则只有读的权限。请注意,数字0代表没有权限,数字1代表执行权限,数字2代表写权限,数字4代表读权限。这些数字权限可以通过相加来表示不同权限的组合,例如,读和写权限为6(4+2),读、写和执行权限为7(4+2+1)。

通过设置文件和目录的权限,Linux系统可以实现对不同用户的权限控制,从而保证文件和目录的安全性和机密性。同时,Linux系统还提供了一些特殊权限,如SUID、SGID和Sticky Bit,以更精细地控制用户和进程对文件和目录的访问。

用户组管理相关命令

groups

groups 命令用于显示当前用户所属的用户组。它列出了当前用户在系统中所属的所有用户组的名称。

语法:

groups [选项] [用户名]
  • 选项:一般情况下,groups 命令并不需要太多可选参数
  • 用户名:指定要查询的用户名。如果未提供用户名,则默认为当前登录用户。

使用示例:

  • 显示当前用户所属的用户组:
groups
  • 显示指定用户所属的用户组(例如,用户名为fanfu):
groups fanfu

gpasswd

gpasswd 命令用于管理组用户和组密码。它允许管理员添加或删除组成员,设置组管理员以及更改组密码等操作。

语法:

gpasswd [选项] 组名

可选参数:

  • -a, --add 用户名:将指定的用户添加到组中。
  • -d, --delete 用户名:将指定的用户从组中删除。
  • -M, --members 用户列表:设置组成员列表,用逗号分隔。
  • -A, --administrators 管理员列表:设置组管理员,用逗号分隔。
  • -R, --restrictions 权限列表:设置组的权限限制。
  • -S, --sync:将组的密码同步到关联的GID。
  • -s, --crypt:使用指定算法设置密码加密方式。
  • -x, --expiredate 过期日期:设置密码的过期日期。

使用示例:

  • 创建一个新的组(例如,组名为developers):
sudo groupadd developers
  • 将用户添加到组中(例如,用户名为fanfu):
sudo gpasswd -a fanfu developers
  • 将用户从组中删除(例如,用户名为fanfu):
sudo gpasswd -d fanfu developers
  • 设置组管理员(例如,管理员用户名为fanfu):
sudo gpasswd -A fanfu developers
  • 设置或更改用户组密码:
gpasswd developers

groupadd

groupadd 命令用于在 Linux 系统中创建新的用户组。

语法:

groupadd [选项] 组名

可选参数:

  • -g, --gid GID:指定要分配给新组的GID(组标识符)。
  • -r, --system:创建一个系统组。
  • -K, --key VALUE:设置键值对,用于修改 /etc/login.defs 中的默认值。

使用示例:

  • 创建一个新的组(例如,组名为developers):
sudo groupadd developers
  • 创建一个系统组(例如,组名为sysadmin):
sudo groupadd -r sysadmin
  • 分配特定的GID给新组(例如,组名为testgroup,GID为1001):
sudo groupadd -g 1001 testgroup

groupmod

groupmod 命令用于修改 Linux 系统中已有的用户组。

语法:

groupmod [选项] 组名

可选参数:

  • -g, --gid GID:修改组的GID(组标识符)。
  • -n, --new-name 新名称:将组的名称更改为新名称。
  • -K, --key VALUE:设置键值对,用于修改 /etc/login.defs 中的默认值。

使用示例:

  • 将组的名称更改为新名称(例如,将组名testgroup更改为newgroup):
sudo groupmod -n newgroup testgroup
  • 修改组的GID(例如,将组名testgroup的GID更改为1001):
sudo groupmod -g 1001 testgroup

groupdel

groupdel 命令用于在 Linux 系统中删除用户组。

语法:

groupdel 组名

可选参数:

使用示例:

  • 删除一个组(例如,组名为developers):
sudo groupdel developers

请注意,只有超级用户才能执行 groupdel 命令。此命令将永久删除指定的组及其相关信息,包括组的密码和GID(如果存在)。因此,在执行此操作之前,请务必小心谨慎。

cat /etc/group

运行 cat /etc/group 命令,它会显示系统上所有用户组的信息。每一行代表一个用户组,每一行的结构是由冒号 : 分隔的字段组成,具体会包含以下字段:

  • 组名:用户组的名称。
  • 组密码:通常是 "x",表示密码存储在 /etc/gshadow 文件中。
  • GID:用户组的唯一标识符(Group ID)。
  • 组成员:属于该用户组的用户列表。

执行下面的命令,查询用户组名是developers的详细信息:

cat /etc/group | grep developers

输出结果如下所示:

developers:x:1004:ayi,fanfu

在这个示例中:developers 是一个用户组,GID 为 1004,它只有两个个成员,即 ayi和fanfu。

写在最后

喜欢我为你精心准备的 CentOS 7 用户组管理命令文章吗?如果你觉得这篇指南对你的 Linux 系统管理技能提供了帮助,不妨点个赞支持一下!当然也建议反这篇文章收藏起来,以备日后查阅。这样,你就能随时回顾和复习文章中的重要知识点,确保你的技术水平始终保持在最高水平。

相关文章:

CentOS 7 权限管理实战指南:用户组管理相关命令详解

前言 深入了解 CentOS 7 用户组管理的命令,掌握关键的用户组操作技巧。从创建和删除用户组、修改组属性,到设置组密码和管理组成员,这篇文章详细介绍了 CentOS 7 系统下常用的用户组管理命令,为读者小伙伴提供了实用而全面的指南…...

Python操作MySQL入门教程,使用pymysql操作MySQL,有录播直播私教课

创建数据库 create database gx character set utf8mb4;连接数据库 #!/usr/bin/python3import mysql as pymysql# 打开数据库连接 db pymysql.connect(hostlocalhost,port3306,userroot,passwordzhangdapeng520,databasegx)# 使用 cursor() 方法创建一个游标对象 cursor cur…...

面试 React 框架八股文十问十答第七期

面试 React 框架八股文十问十答第七期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)React 废弃了哪些生命…...

Docker教程

docker 安装 官方文档 wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker your-user sudo usermod -aG docker ${USER} newgrp docker # 更新docker用户组 cat /etc/group | grep docker docker --version 使用非root用户管理 帮助启动类 命令 system…...

数据结构:二叉树

数据结构:二叉树 文章目录 数据结构:二叉树1.一些特殊的二叉树1.满二叉树2.完全二叉树 2.手动创建一颗二叉树3.二叉树深度优先遍历4.二叉树层序遍历5.二叉树基础操作1.创建二叉树2.二叉树节点个数3.二叉树叶子节点个数4.二叉树的高度5.二叉树第k层节点个…...

HTTP超文本传输协议

原文链接: 1.5 万字 40 张图解 HTTP 常见面试题(值得收藏)_图解http 小林-CSDN博客https://blog.csdn.net/qq_34827674/article/details/124089736?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170521531616777224478386%252…...

视频SDK的技术架构优势和价值

为了满足企业对于高质量视频的需求,美摄科技推出了一款强大的视频SDK(软件开发工具包),旨在帮助企业轻松实现高效、稳定的视频功能,提升用户体验,增强企业竞争力。 一、美摄视频SDK的技术实现方式 美摄视…...

Invalid bound statement (not found)(xml文件创建问题)

目录 解决方法: 这边大致讲一下我的经历,不想看的直接点目录去解决方法 今天照着老师视频学习,中间老师在使用动态SQL时,直接复制了一份,我想这么简单的一个,我直接从网上找内容创建一个好了,…...

正则表达式2 常见模式

继上次的正则表达式速攻1/2-CSDN博客 还有一些常见的匹配模式可以直接使用 电子邮箱 xxxxxx.域名 的情况 \b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\bhttp或者https网址 的情况 http[s]?://(?:[a-zA-Z]|[0-9]|[$-_.&]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F…...

前端对接电子秤、扫码枪设备serialPort 串口使用教程

因为最近工作项目中用到了电子秤,需要对接电子秤设备。以前也没有对接过这种设备,当时也是一脸懵逼,脑袋空空。后来就去网上搜了一下前端怎么对接,然后就发现了SerialPort串口。 Serialport 官网地址:https://serialpo…...

LeeCode前端算法基础100题(18)整数转罗马数字

一、问题详情: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1…...

【C++ 程序设计入门基础】- 第4节-函数

1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…...

华为数通HCIA题库(750题)

完整题库在这里&#xff1a;华为数通HCIA-RS题库注释版-加水印.pdf资源-CSDN文库 此处只节选几题。 1.网络管理员在网络中捕获到了一个数据帧&#xff0c;其目的MAC地址是01-00-5E-AO-B1-C3。关于该MAC地址的说法正确的是&#xff08; )。 A.它是一个单播MAC地址 B.它是一个广播…...

SpringIOC之support模块GenericXmlApplicationContext

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…...

CCF认证+蓝桥杯习题训练

贪心 *上取整公式* *代码展示* #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 1e5 10;typedef long long LL;int v[N] , a[N];int main() {int n , d;cin >> n >> d;for(int i 1 ; i < n…...

vue前端开发自学基础,动态切换组件的显示

vue前端开发自学基础,动态切换组件的显示&#xff01;这个是需要借助于&#xff0c;一个官方提供的标签&#xff0c;名字叫【Component】-[代码demo:<component :is"ComponetShow"></component>]。 下面看看代码详情。 <template><h3>动态…...

16.桥接模式

桥接模式 介绍 桥接模式是一种结构型设计模式&#xff0c;它通过将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。这种模式通过组合的方式来实现&#xff0c;而不是继承。桥接模式通过将抽象和实现解耦&#xff0c;从而实现抽象和实现的分离&#xff0c;使得系统更加…...

【网络安全】【密码学】【北京航空航天大学】实验一、数论基础(上)【C语言和Java实现】

实验一、数论基础&#xff08;上&#xff09; 一、实验目的 1、通过本次实验&#xff0c;熟悉相关的编程环境&#xff0c;为后续的实验做好铺垫&#xff1b; 2、回顾数论学科中的重要基本算法&#xff0c;并加深对其的理解&#xff0c;为本学期密码学理论及实验课程打下良好…...

Go语言的sync.Pool如何使用?使用场景具体有哪些?

sync.Pool 是 Go 标准库中提供的一个对象池&#xff08;Object Pool&#xff09;的实现。对象池是一种用于缓存和复用对象的机制&#xff0c;可以在一定程度上减轻内存分配的开销。sync.Pool 专门用于管理临时对象&#xff0c;适用于一些需要频繁创建和销毁的短暂对象&#xff…...

MySQL单表查询练习题

一、创建表的素材 表名&#xff1a;worker——表中字段均为中文&#xff0c;比如&#xff1a;部门号、工资、职工号、参加工作等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 …...

BG3 Mod Manager:智能模组管理工具让博德之门3模组体验升级

BG3 Mod Manager&#xff1a;智能模组管理工具让博德之门3模组体验升级 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 博德之门3作为一款备受欢迎的…...

Odoo 19成本核算避坑指南:标准成本法下差异分析、委外加工汇率风险与WIP分录丢失问题

Odoo 19成本核算实战避坑指南&#xff1a;标准成本差异、委外加工与WIP分录的深度解决方案 在制造业数字化转型浪潮中&#xff0c;Odoo 19作为开源ERP的领军者&#xff0c;其制造与会计模块的深度集成能力备受企业青睐。然而&#xff0c;当我们真正将系统投入生产环境时&#x…...

51单片机实战:从零构建电子密码锁系统

1. 项目背景与硬件准备 第一次接触51单片机时&#xff0c;我就被它的实用性深深吸引。作为电子爱好者入门的最佳选择&#xff0c;STC89C52这款经典芯片就像乐高积木的基础模块——价格亲民&#xff08;某宝20元就能买到开发板&#xff09;、资源丰富&#xff08;8K Flash、512…...

零基础入门gstack:借助快马AI生成你的第一个可运行React+TypeScript项目

作为一名刚接触前端开发的新手&#xff0c;第一次听说gstack&#xff08;ViteReactTypeScript组合&#xff09;时&#xff0c;我完全不知道从何入手。直到发现了InsCode(快马)平台&#xff0c;才真正体会到"零配置"开发是什么感觉。下面记录我的学习过程&#xff0c;…...

微型LORA数传模块:科技赋能,传统楼宇智能蜕变

微型LoRa数传模块凭借小体积、低功耗、远距离、强穿透、易部署的核心优势&#xff0c;是智慧楼宇实现无线化、低成本、广覆盖物联网感知与控制的理想选择&#xff0c;尤其适合老旧楼宇改造与新建楼宇的轻量化智能化升级。一、核心优势(适配智慧楼宇场景)小体积易安装&#xff1…...

GT New Horizons材质包精选:10款提升沉浸体验的视觉升级方案

GT New Horizons材质包精选&#xff1a;10款提升沉浸体验的视觉升级方案 【免费下载链接】GT-New-Horizons-Modpack A big progressive questing modpack for Minecraft 1.7.10 balanced around the mod GregTech. 项目地址: https://gitcode.com/GitHub_Trending/gt/GT-New-…...

从芯片设计到产线测试:深入浅出聊聊DFT中的SCAN链设计与JTAG标准(含IEEE 1149.1)

从芯片设计到产线测试&#xff1a;深入浅出聊聊DFT中的SCAN链设计与JTAG标准&#xff08;含IEEE 1149.1&#xff09; 在芯片设计领域&#xff0c;可测试性设计&#xff08;DFT&#xff09;早已从"锦上添花"变成了"不可或缺"的核心环节。想象一下&#xff0…...

SSM+Vue大学生兼职网站源码+论文

代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择&#xff1a; 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

Qwen3-14B开源模型实战:跨境电商多平台产品文案批量生成

Qwen3-14B开源模型实战&#xff1a;跨境电商多平台产品文案批量生成 1. 跨境电商文案生成的痛点与解决方案 跨境电商运营面临的最大挑战之一&#xff0c;就是需要为同一款产品在不同平台&#xff08;亚马逊、eBay、速卖通等&#xff09;生成符合各自规范的优质文案。传统人工…...

pg_textsearch:革新Postgres文本搜索的现代工具

【导语&#xff1a;GitHub上的pg_textsearch是一款适用于Postgres的现代排名文本搜索工具&#xff0c;具备简单语法、可配置参数等特性&#xff0c;目前已达v1.0.0版本可用于生产环境&#xff0c;对Postgres文本搜索领域带来新变革。】pg_textsearch&#xff1a;Postgres文本搜…...