Linux用户和用户组的管理

目录

  • 前言
  • 一、系统环境
  • 二、Linux用户组的管理
    • 2.1 新增用户组
    • 2.2 删除用户组
    • 2.3 修改用户组
    • 2.4 查看用户组
  • 三、Linux用户的管理
    • 3.1 新增用户
    • 3.2 删除用户
    • 3.3 修改用户
    • 3.4 查看用户
    • 3.5 用户口令(密码)的管理
  • 总结

前言

本篇文章介绍如何在Linux系统上实现对用户组的管理,包括用户组的新增、删除和修改;除此之外,还介绍如何实现对用户的管理,包括用户的新增、删除、修改等操作。

一、系统环境

  • 虚拟机版本:VMware® Workstation 15 Pro
  • Linux镜像文件:CentOS-7-x86_64-Minimal-1804.iso
  • 主机系统:Windows 11 家庭中文版
  • 主机系统类型:64 位操作系统, 基于 x64 的处理器
  • 远程连接工具:MobaXterm中文版本

二、Linux用户组的管理

将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。
一个用户可以对应一个或多个用户组,一个用户组可以对应多个用户,用户和用户组属于多对多的关系。
对Linux用户组进行管理时,需要切换到root用户,即系统管理员。

2.1 新增用户组

语法格式:groupadd 用户组名

例子,
groupadd pyspring
表示新增了一个用户组pyspring

2.2 删除用户组

语法格式:groupdel 用户组名

例子,
groupdel pyspring
表示删除了一个用户组pyspring

2.3 修改用户组

语法格式:groupmod 选项 用户组名
选项有如下:
-n 新用户组名	修改用户组名
-g GID			修改用户组ID(不建议使用,最好不要修改组ID,使用系统分配就好)

例子1,
groupmod -n pys pyspring
表示将用户组pyspring修改为pys

例子2
groupmod -g 1002 pyspring
表示将用户组pyspring的ID修改为1002

2.4 查看用户组

语法格式:getent group
在命令行直接输入getent group即可查看系统当前的用户组信息。

getent group命令输出内容为/etc/group文件保存的内容
而/etc/group文件保存着系统所有用户组的信息

在这里插入图片描述
用户组信息格式说明:
用户组名:口令:用户组ID:用户
注:当一个用户组拥有多个用户时,用户字段每个用户之间使用逗号隔开

三、Linux用户的管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号可以帮助系统管理员追踪用户,并控制用户对系统资源的访问,也可以帮助用户组织文件,并且为用户提供安全性保护。
每个用户账号拥有唯一的用户名和口令(密码)。用户登录系统后,进入自己的主目录。
用户的主目录一般是/home/用户名。
对Linux用户进行管理时,需要切换到root用户,即系统管理员。

3.1 新增用户

语法格式:useradd 选项 用户名
选项有如下:
-c 描述内容			指定关于这个账号的注释性描述
-d 目录				指定用户的主目录,用户默认的主目录是/home/用户名
-g 用户组			指定用户所属用户组,系统默认创建一个与用户名相同的用户组
-G 用户组,用户组,...	指定用户所属的附加组,一个用户可以拥有一个主组,和多个附加组
-s Shell文件			指定用户的登录Shell,本系统环境默认bash(Bourne Again Shell)

例子1,
useradd pyspring
表示创建一个用户名为pyspring的用户,主目录为/home/pyspring,所属组为pyspring

例子2,
useradd -g pyspring -d /home/pyshome pys
表示创建一个用户名为pys的用户,主目录为/home/pyshome,所属用户组为pyspring
注:useradd pys -g pyspring -d /home/pyshome 效果和上面一致

3.2 删除用户

语法格式:userdel -r 用户名
-r 表示将用户的主目录一起删除

例子,
userdel -r pys
表示将用户名为pys的用户删除,并将其主目录删除

3.3 修改用户

语法格式:usermod 选项 用户名
选项有如下:
-c 描述内容			修改关于这个账号的注释性描述
-d 目录				修改用户的主目录
-g 用户组			修改用户所属用户组
-G 用户组,用户组,...	修改用户所属的附加组
-s Shell文件   		修改用户的登录Shell
-l 新用户名			修改用户的用户名

例子1,
usermod -l pysdd pys
表示将用户名为pys的用户修改成pysdd

3.4 查看用户

语法格式:getent passwd
在命令行直接输入getent passwd即可查看系统当前所有的用户信息。

getent passwd命令输出内容为/etc/passwd文件保存的内容。
而/etc/passwd文件保存着系统当前所有用户的信息。

语法格式:id 用户名

例子1,
id
可以查看当前登录用户的用户信息,一般用于用户自身信息的查看

例子2,
id pyspring
可以查看用户名为pyspring的用户信息,一般用于用户查看其他用户的信息

在这里插入图片描述

用户信息格式说明
用户名:口令(密码):用户ID:用户组ID:注释性描述:主目录:登录Shell
下面介绍关于每个字段的说明

字段说明
用户名由大小写字母和/或数字组成。用户名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,用户名尽量使用字母和数字组成。
口令口令其实就是登录密码,一般经过加密后保存到/etc/shadow文件中,而在其他地方使用x代替
用户ID系统内部用来标识用户
用户组ID用户所属用户组
注释性描述关于这个账号的描述,内容一般为空
主目录用户起始的工作目录
登录ShellShell是用户与Linux系统之间的接口。常见的Shell有sh(Bourne Shell)、csh(C Shell)、ksh(Korn Shell)、tcsh(TENEX-20 type C Shell)、bash(Bourne Again Shell)

关于系统的伪用户(pseudo users)
伪用户:指为了方便系统的管理,满足相应的系统进程对文件属主的要求而创建的用户,这些用户的登录Shell为空,无法进行登录。以下列举说明

伪用户名含义
bin拥有可执行的用户命令文件
sys拥有系统文件
adm拥有账号文件
uucpUUCP使用
lplp或lpd子系统使用
nobodyNFS使用

3.5 用户口令(密码)的管理

一个新用户被创建时,用户账号是没有口令的,但是被系统锁定,无法使用,必须为新创建的用户指定口令后才可以使用,即使是空口令。

语法格式:passwd 选项 用户名
选项有如下:
-l 锁定口令,即禁用账号
-u 口令解锁
-d 使账号无口令
-f 强迫用户下次登录后修改口令

例子1,
passwd
表示当前登录的用户修改自身的口令,一般用于普通用户修改自身的密码

例子2,
passwd pyspring
表示修改用户名为pyspring的口令,用于超级管理员修改普通用户的密码

例子3,
passwd -l pyspring
表示将用户名pyspring的账号锁定

总结

/etc/group文件保存关于用户组的信息
/etc/passwd文件保存关于用户的信息
/etc/shadow文件保存关于用户口令的信息

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

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

相关文章

第103天: 权限提升-Linux 系统辅助项目脏牛Dirty内核漏洞SUIDGUID

项目下载地址 综合类探针: https://github.com/liamg/traitor 自动化提权: https://github.com/AlessandroZ/BeRoot 信息收集: https://github.com/rebootuser/LinEnum https://github.com/sleventyeleven/linuxprivchecker 漏洞探针&#xf…

实践分享:如何用小程序里的小组件做应用开发?

随着移动互联网的快速发展,小程序等轻量级应用平台日益成为用户获取信息和服务的重要渠道。而小组件也在其中扮演了至关重要的角色,不仅能够提升用户的交互体验,还能帮助开发者高效地构建功能丰富、界面美观的小程序。 本文中,我们…

STM32的FreeRtos的学习

首先就是去官网下载一个源文件:FreeRtos官网 下载下来的是一个zip文件,解压缩了。 然后再工程文件夹中创建个文件夹: 在这个文件夹中创建3个文件夹: 然后开始把下载下来的文件夹中的文件挑选出来放到我们的工程文件夹中&#xff1…

C++ 史上首次超越 C,跃至榜二

TIOBE 公布了 2024 年 6 月的编程语言排行榜。 C在本月的TIOBE指数中成功超越了C,成为新的第二名。它是一种被广泛应用于嵌入式系统、游戏开发和金融交易软件等领域的编程语言。这次的排名是C在TIOBE指数中的历史最高位,同时也是C语言的历史最低位。 T…

Java Web学习笔记29——Vue路由

Vue路由: 前端路由:点击菜单栏,地址栏会发生变化,会显示对应的组件。 URL中的Hash(#号后面的部分)与组件之间的对应关系。 Hash是/dept,那么就是部门管理组件; Hash是/emp, 那么…

【CS.AL】算法复杂度分析 —— 时间复杂度详解

文章目录 1 概述2 时间复杂度的详细分析2.1 常数时间复杂度(O(1))2.2 对数时间复杂度(O(log n))2.3 线性时间复杂度(O(n))2.4 线性对数时间复杂度(O(n log n))2.5 平方时…

iOS 17.5中的一个漏洞

i0S 17.5中的一个漏洞 iOS 17.5中的一个漏洞会使已刚除的照片重新出现,并目此问题似乎会影响甚至已擦除并出售给他人的 iPhone 和 iPad. 在2023年9月,一位Reddit用户根据Apple的指南擦除了他的iPad,并将其卖给了一位朋友。然而,这…

野火FPGA跟练(四)——串口RS232、亚稳态

目录 简介接口与引脚通信协议亚稳态RS232接收模块模块框图时序波形RTL 代码易错点Testbench 代码仿真 RS232发送模块模块框图时序波形RTL 代码Testbench 代码仿真 简介 UART:Universal Asynchronous Receiver/Transmitter,异步串行通信接口。发送数据时…

Sentinel1.8.6更改配置同步到nacos(项目是Gateway)

本次修改的源码在:https://gitee.com/stonic-open-source/sentinel-parent 一 下载源码 地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.6 二 导入idea,等待maven下载好各种依赖 三 打开sentile-dashboard这个模块&#xf…

HTML开发 Vue2.x + Element-UI 动态生成表单项并添加表单校验

基于vue2.x 和element-ui 动态生成表单项并添加表单校验; 1、需求问题 如下图,项目有个需求,点击添加按钮,新增一行设备信息,且每项信息必填; 2、代码 看到这个需求,首先想到要使用v-for的形…

大众汽车裁员加速,38万元遣散费起步

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 几周前,大众汽车宣布了一项新的裁员计划。 一、裁员行动与额外福利并行 大众汽车近期在裁员行动上取得了显著进展,其遣散…

基于I2C协议的OLED显示(利用U82G库)

目录 一、I2C协议的基本原理和时序协议I2C通信协议的原理I2C时序基本单元I2C时序 二、建立工程RCC配置TIM1配置时钟树配置工程配置 三、U8g2移植精简u8g2_d_setup.c精简u8g2_d_memory.c编写移植函数stm32_u8g2.hstm32_u8g2.c 四、实验1.U82G的demo例程2.显示网名昵称中文取模步…

Pytorch 从零实现 Transformer

前言 之前虽然了解过 Transformer 架构,但是没有自己实现过。 最近阅读 transformers 库中 Llama 模型结构,于是想试着亲手实现一个简单的 Transformer。 在实现过程中加深了理解,同时发现之前阅读 Llama 中一些错误的地方,因此…

蓝桥杯--跑步计划

问题描述 小蓝计划在某天的日期中出现 11 时跑 55 千米,否则只跑 11 千米。注意日期中出现 11 不仅指年月日也指星期。 请问按照小蓝的计划,20232023 年小蓝总共会跑步锻炼多少千米?例如,55 月 11 日、11 月 1313 日、1111 月 55 日、44 月…

Linux:基本指令

文章目录 ls指令pwd指令cd指令touch指令mkdir指令rmdir指令 && rm指令cp指令man指令echo指令输出重定向追加重定向 cat指令输入重定向 mv指令which指令alias指令more && less指令head && tail指令事件相关的指令date显示时间戳 cal指令find指令grep指令…

c++之旅第十弹——IO流

大家好啊,这里是c之旅第十弹,跟随我的步伐来开始这一篇的学习吧! 如果有知识性错误,欢迎各位指正!!一起加油!! 创作不易,希望大家多多支持哦! 一.流的概念&…

星火秘境游戏开发链游app定制开发源码部署

星火秘境是一款神秘而充满冒险的游戏,开发这样一款游戏需要综合考虑多个方面,包括游戏设计、美术设计、程序开发、音效制作等。下面我将简要介绍一下游戏开发和链游app搭建的一般流程: 游戏设计: 确定游戏类型:星火秘…

雷电模拟器中控实现,直通源码

目录 前言 开发 需求 初始环境 UI搭建 功能实现 前言 本篇为易语言雷电模拟器中控项目实现操作,一般用于:脚本开发多线程模拟操作等起始模板框架,使用易语言原因为其前后端一体化,对于脚本开发而言更为方便。 开发 需求 以…

每天壁纸不重样~下载必应每日图片

下载必应每日图片 必应不知道你用过没有你下载过必应的图片没有你又没搜索过桌面图片你是不是安装过桌面图片软件你是不是为找一个好看的图片下载过很多桌面软件 必应每日图片 必应每天都会有一张不同的风景图片,画质清晰,而且不收费可以下载使用 但…

MySQL之多表查询—列子查询

一、引言 标量子查询上篇博客已学习。接下来这篇博客学习子查询的第二种形式——列子查询 列子查询 子查询返回的结果是一列(当然也可以是多行),这种子查询称为列子查询。 列子查询可以使用的操作符 IN、NOT IN 、ANY(any)、SOME…