Linux用户和用户组的管理

news2024/11/26 18:47:38

目录

  • 前言
  • 一、系统环境
  • 二、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文件保存关于用户口令的信息

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

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

相关文章

Aethir: 破局算力瓶颈,构建AI时代去中心化云基础设施

科技的每一次飞跃都在重新塑造世界,而近年来,跨越式的技术革新再次引发了深刻的变革,那就是人工智能(AI)。 人工智能已然超越了此前的所有技术概念,成为了继互联网之后的下一个巨大浪潮。从自动驾驶汽车到…

ipv6有状态分配地址

RA报文M/O标志位 设备在获取IPv6地址等信息时,会先发送RS报文请求链路上的路由设备,路由设备受到RS报文后会发送相应的RA报文来表示自身能够提供的IPv6服务类型。 对于RA报文,根据其M字段和O字段确定其获取IPv6地址的模式: M/O都…

python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制

实现效果(红框内): 后端api如下: task_api.route(/user/task/states_list, methods[POST, GET]) visitor_token_required def task_states(user):name_list [待接单, 设计中, 交付中, 已完成, 全部]data []color [#F04864, …

电脑缺失msvcp110.dll文件的解决方法,总结5种靠谱的方法

在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是“找不到msvcp110.dll”。这个错误提示通常出现在运行某些软件时,那么,它究竟会造成哪些问题呢? 一,msvcp110.dll文件概述 msvcp110.dll是Mic…

各种空气能热泵安装图

空气能热泵安装图 循环式空气能热泵安装图 直热循环式空气能热泵安装图 泳池空气能热泵安装图 循环式水源热泵热安装系统原理图 直热循环式水源热泵安装系统图 空气水源热泵安装图

sqli-labs 靶场 less-8、9、10 第八关到第十关详解:布尔注入,时间注入

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它,我们可以学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。Less 8 SQLI DUMB SERIES-8判断注入点 当输入id为1时正常显示: 加上单引号就报错了 …

2024年【天津市安全员C证】免费试题及天津市安全员C证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 天津市安全员C证免费试题是安全生产模拟考试一点通生成的,天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2024年【天津市安全员C证】免费试题及天津市…

【云原生】基于windows环境搭建Docker

目录 一、Docker Desktop搭建 二、前置准备 2.1开启 Hyper-V 2.2 Hyper-V选项看不到问题解决 2.3 开启或升级wsl 三、安装过程 3.1 下载安装包 3.2 安装 Docker Desktop 3.2.1 Docker 图标一直处于starting状态问题解决 3.3 配置仓库与镜像 3.4 docker功能测试 四、…

coap-emqx:使用libcoap与emqx通信

# emqx开启CoAP网关 请参考【https://blog.csdn.net/chenhz2284/article/details/139562749?spm1001.2014.3001.5502】 # 写一个emqx的客户端程序&#xff0c;不断地往topic【server/1】发消息 【pom.xml】 <dependency><groupId>org.springframework.boot<…

配置免密登录秘钥报错

移除秘钥&#xff0c;执行 ssh-keygen -R cdh2即可 参考&#xff1a;ECDSA主机密钥已更改,您已请求严格检查。 - 简书

【C语言】宏详解(上卷)

前言 紧接着预处理详解&#xff08;上卷&#xff09;&#xff0c;接下来我们来讲宏&#xff08;隶属于预处理详解系列&#xff09;。 #define定义宏 #define机制包括了一个规定&#xff0c;允许把参数替换到文本中&#xff0c;这种实现通常称为宏&#xff08;macro&#xff…

步态控制之足旋转点(Foot Rotation Indicator, FRI)

足旋转点(Foot Rotation Indicator, FRI) 足旋转点是人形机器人步态规划中的一个关键概念,用于描述步态过程中机器人脚部的旋转和稳定性。FRI 可以帮助确定机器人在行走时是否稳定,以及如何调整步态以保持稳定。下面详细介绍FRI的原理,并举例说明其应用。 足旋转点(FRI…

Word多级标题编号不连续、一级标题用大写数字二级以下用阿拉伯数字

Word多级标题编号不连续 &#xff1a; 一级标题用大写数字二级以下用阿拉伯数字&#xff1a;

Qt Designer 生成的 .ui 文件转为 .py 文件并运行

1. 使用使用 PyUIC将 .ui 转 .py &#xff08;1&#xff09;打开命令行终端&#xff08;可以用cmd&#xff0c;或pycharm 下面的 Terminal&#xff09;。 &#xff08;2&#xff09;导航到包含.ui文件的目录。 cd 你的ui文件路径 &#xff08;3&#xff09;运行以下命令来…

Linux -- 了解 vim

目录 vim Linux 怎么编写代码&#xff1f; 了解 vim 的模式 什么是命令模式&#xff1f; 命令模式下 vim 的快捷键&#xff1a; 光标定位&#xff1a; 复制粘贴&#xff1a; 删除及撤销&#xff1a; 注释代码&#xff1a; 什么是底行模式&#xff1f; ​编辑 ​编辑…

Java:110-SpringMVC的底层原理(上篇)

SpringMVC的底层原理 在前面我们学习了SpringMVC的使用&#xff08;67章博客开始&#xff09;&#xff0c;现在开始说明他的原理&#xff08;实际上更多的细节只存在67章博客中&#xff0c;这篇博客只是讲一点深度&#xff0c;重复的东西尽量少说明点&#xff09; MVC 体系结…

【递归、搜索与回溯】DFS | 回溯 | 剪枝

一、经验总结 实际上递归、深度优先搜索&#xff08;DFS&#xff09;、回溯与剪枝研究的是同一类问题&#xff0c;我将其统称为递归深搜算法&#xff0c;其解题步骤大致如下&#xff1a; 画出递归决策树&#xff1a;如果遇到较为复杂的递归题目&#xff0c;可以通过画出决策树明…

hcache缓存查看工具

1、hcache概述 hcache是基于pcstat的&#xff0c;pcstat可以查看某个文件是否被缓存和根据进程pid来查看都缓存了哪些文件。hcache在其基础上增加了查看整个操作系统Cache和根据使用Cache大小排序的特性。官网:https://github.com/silenceshell/hcache 2、hcache安装 2.1下载…

数据又错了-深读实证01

以后我会经常发一些随手写成的“深读实证”&#xff0c;将书稿中的一两个知识点进行展开介绍。 这是第一篇深读实证&#xff0c;涉及的书中知识点有&#xff1a; 我是严肃科普&#xff0c;别夸我观点鲜明&#xff0c;那都是真事&#xff0c;不是观点。云厂商还有大量优化运营提…

深度强化学习+大模型综述Survey on Large Language Model-Enhanced Reinforcement Learning

论文地址&#xff1a;[2404.00282] Survey on Large Language Model-Enhanced Reinforcement Learning: Concept, Taxonomy, and Methods (arxiv.org) 摘要 对 LLM 增强 RL 中现有文献进行了全面的回顾&#xff0c;并总结了其与传统 RL 方法相比的特征&#xff0c;旨在阐明未…