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 系统管理技能提供了帮助,不妨点个赞支持一下!当然也建议反这篇文章收藏起来,以备日后查阅。这样,你就能随时回顾和复习文章中的重要知识点,确保你的技术水平始终保持在最高水平。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core列表增删改查

前置要求&#xff1a; 1. vueelement-plus实现前端静态页面 HelloWorld.vue <template><h2>hello界面</h2><div class"tableList"><!-- 搜索框 --><el-row :gutter"20"><el-col :span"8"><!-- 搜…

Angular系列教程之DOM操作

文章目录 引言1. ElementRef2. Renderer23. ViewChild结论 引言 在Angular中&#xff0c;DOM操作是开发Web应用程序的一个重要方面。通过对DOM进行操作&#xff0c;我们可以动态地修改页面内容、样式和元素行为。本文将详细介绍如何在Angular中进行DOM操作&#xff0c;并提供相…

LTC6820和isoSPI使用

1、MSTR主控/受控 MSTR (引脚 11/ 引脚 12)&#xff1a;串行接口主 / 从选择器输入。MSTR接VCC&#xff0c;则LTC6820为从机&#xff1b;MSTR接GND&#xff0c;则LTC6820为主机 2、SLOW慢速/快速 SLOW (引脚 12/ 引脚 13)&#xff1a;慢速接口选择输入。当时钟频率≤ 200kHz …

Top6 最好的 Android 数据恢复软件免费获取

虽然在智能手机上随身携带您最喜爱的音乐收藏或珍贵的录音很方便&#xff0c;但如果您的设备出现技术问题或您不小心删除了文件&#xff0c;文件也有可能丢失。 不管文件是如何删除或丢失的&#xff0c;丢失那些珍贵的音频文件的痛苦对每个人来说都是一样的。这就是我们创建本…

php反序列化之pop链构造

常见魔术方法的触发 __construct() //创建类对象时调用 __destruct() //对象被销毁时触发 __call() //在对象中调用不可访问的方法时触发 __callStatic() //在静态方式中调用不可访问的方法时触发 __get() //调用类中不存在变量时触发&#xff08;找有连续箭头的…

5 个被低估的开源项目

文章目录 1.集算器 -数据处理2. Firecamp - 邮递员替代方案3.Keploy——后端 测试4. Hanko - 密钥验证5. Zrok - Ngrok 类固醇 长话短说 本文列出了五个不太受欢迎的优秀项目&#xff0c;您应该尝试一下。&#x1f525; 这些工具旨在改进数据处理、API 开发、后端测试、身份验…

【无标题】【第6次修改了可删除可持久保存的前端html备忘录:去掉第2页面可误删除

第6次修改了可删除可持久保存的前端html备忘录:去掉第2页面 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…

微信小程序防止截屏录屏

一、使用css添加水印 使用微信小程序原生的view和css给屏幕添加水印这样可以防止用户将小程序内的隐私数据进行截图或者录屏分享导致信息泄露&#xff0c;给小程序添加一个水印浮层。这样即使被截图或者拍照&#xff0c;也能轻松地确定泄露的源头。效果图如下&#xff1a; 代码…

zookeeper简介

Zookeeper 是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的 Apache 项目。 Zookeeper工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理大家都关心的数据&#xff0c;然后接受观察者…

安全狗方案入选工信部《2023年工业和信息化领域数据安全典型案例名单》

近日&#xff0c;工业和信息化部网络安全管理局公布了2023年工业和信息化领域数据安全典型案例名单。 安全狗与厦门卫星定位应用股份有限公司、中移 (上海) 信息通信科技有限公司联合申报的智慧交通云数据安全与隐私保障典型案例也成功入选。 厦门服云信息科技有限公司&#…

Rust-数组

数组是一个容器&#xff0c;它在一块连续空间内存中&#xff0c;存储了一系列的同样类型的数据。 数组中元素的占用空间大小必须是编译期确定的。 数组本身所容纳的元素个数也必须是编译期确定的&#xff0c;执行阶段不可变。 如果需要使用变长的容器&#xff0c;可以使用标…

vue2使用electron以及打包配置

1.创建项目 vue create vue-project 2.安装electron vue add electron-builder会自动安装相关依赖 安装成功后会在src下自动生成一个background.js文件就是相应的electron的配置信息 use strictimport { app, protocol, BrowserWindow } from electron import { createProto…

缓存和数据库一致性

前言&#xff1a; 项目的难点是如何保证缓存和数据库的一致性。无论我们是先更新数据库&#xff0c;后更新缓存还是先更新数据库&#xff0c;然后删除缓存&#xff0c;在并发场景之下&#xff0c;仍然会存在数据不一致的情况&#xff08;也存在删除失败的情况&#xff0c;删除…

Docker-Compose构建lnmp

目录 实验前准备安装composeNginx准备工作目录准备Dockerfile脚本准备nginx.conf Mysql准备工作目录编写Dockerfile脚本准备my.cnf PHP准备工作目录准备相关文件 编写docker-compose.yml配置文件目录结构启动测试Mysql授权测试 问题Mysql容器无权访问问题浏览器访问file not fo…

计算机网络 网络安全

网络安全 网络安全问题概述 计算机网络面临的女全性威胁 计算机网络的通信而临两大类威胁&#xff0c;即被动攻击和主动攻击 被动攻击是指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获。在被动攻击中&#xff0c;攻击者只是观察和分析某一个协议数据单元 PDU…

R语言【paleobioDB】——pbdb_orig_ext():绘制随着时间变化而出现的新类群

Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新&#xff0c;该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后&#xff0c;执行本地安装。 Usage pbdb_orig_ext (data, rank, temporal_extent…

各种版本对应关系:SpringCloudAlibaba——SpringCloud——SpringBoot——SpringFramework——JDK

SpringCloudAlibaba——SpringCloud——SpringBoot——SpringFramework——JDK 一般情况&#xff0c;在https://github.com/项目/wiki目录下有发布信息及对应的要求其他依赖的版本信息SpringCloudAlibaba——SpringCloud——SpringBootSpringBoot和SpringFramework的版本对应关…

基于MATLAB计算无线通信覆盖(一)环境准备

一、环境 MATLAB 2022b 注&#xff1a;开始仿真前需部署地理坐标区和地理图&#xff0c;最好采用第三种&#xff0c;直接把底图数据下载到本地&#xff0c;防止连接不上网络时只能显示darkwater的底图。 可用于地理坐标区和地理图的底图如下表所示 二、下载底图并安装 工具&…

如何用GPT进行论文润色与改写?

详情点击链接&#xff1a;如何用GPT/GPT4进行论文润色与改写&#xff1f;一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二…

最新可用GPT-3.5、GPT-4、Midjourney绘画、DALL-E3文生图模型教程【宝藏级收藏】

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画&#xff0c;文档对话总结DALL-E3文生图&#xff0c;相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容甚至也可以和…