[Linux]管理用户和组

news2024/11/17 5:23:30

​⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章
⭐作者主页:@逐梦苍穹
⭐所属专栏:Linux基础操作。本文主要是分享一些Linux系统常用操作,内容主要来源是学校作业,分享出来的同时自己也得到复习。
⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正,一同进步😁

Linux : 管理用户和组

  • 1、命令总结
  • 2、项目知识
    • 2.1、用户和用户组
    • 2.2、用户配置文件
      • 2.2.1、用户帐号文件
      • 2.2.2、用户影子文件
      • 2.2.3、1970年1月1日
    • 2.3、用户管理
      • 2.3.1、🔺思维导图
      • 2.3.2、添加用户
      • 2.3.3、设置密码
      • 2.3.4、修改用户信息
      • 2.3.5、删除用户
        • 2.3.5.1、宿主目录
        • 2.3.5.2、用户邮件
    • 2.4、组配置文件
      • 2.4.1、用户组账号
      • 2.4.2、用户组加密文件
    • 2.5、管理组
      • 2.5.1、思维导图
      • 2.5.2、添加组
      • 2.5.3、组密码
      • 2.5.4、组成员
      • 2.5.5、组属性
      • 2.5.6、查看所属组
      • 2.5.7、切换基本组
      • 2.5.8、删除组

1、命令总结

这里表格中的命令均来自本文内容,可在下文找到详解

用户管理:

命令说明
useradd username添加用户
passwd [选项]… 用户名设置密码
usermod [选项] username修改用户信息
userdel [-r] 用户名删除用户

组管理:

命令说明
groupadd [-g 组id值] 组名称添加组
grep 组名称 /etc/group查询组账号文件信息
gpasswd [-r] 组账号名设置/移除组密码(添加-r为移除密码)
gpasswd [选项]… 组名管理组成员
groupmod [选项]… 组名修改组属性
groups 用户名显示用户所属组
newgrp 组名切换基本组
groupdel 组名删除组(删除的目标组不能是用户的基本组)

2、项目知识

2.1、用户和用户组

Linux的多用户 : 管理方便、安全
多用户操作系统的安全:

  1. 系统管理更方便
  2. 多用户管理的系统更安全:比如user01用户下的某个文件不想让其它用户看到,只需设置文件的权限,只有user01用户可读可写可编辑
  3. 从服务器角度,多用户的系统安全性 :Windows操作系统在系统权限管理的能力无法和Linux或Unix类系统相比

Linux系统中每个文件和程序都归属于一个特定的用户。

每个用户都有一个名字标识,叫做用户ID(UID)
  root用户:UID为0
  系统用户:UID为1~999,保留给服务使用,一般不允许登录。
  普通用户:UID为1000~60000,可以登录。
每个组都有一个名字标识,叫做组ID(GID)。组用于区分权限,不用于登录

用户和用户组的对应关系:一对一、多对一、一对多或多对多:

  1. 一对一:某个用户可以是某个组的唯一成员;
  2. 多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如user01和user02两个用户只归属于users用户组;
  3. 一对多:某个用户可以是多个用户组的成员; 比如user01可以是root组成员,也可以是users用户组成员,还可以是adm用户组成员;
  4. 多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;
      主要组
      附加组
       一个用户只能归属一个主要组(基本组),但可以归属多个附加组(附属组、 扩展组)

2.2、用户配置文件

2.2.1、用户帐号文件

用户账号文件 /etc/passwd:

  1. 用户账号数据存放
  2. 添加新用户,文件产生一个对应的设置项
  3. 每一行保存一个用户的资料
  4. 每一个数据项之间采用:分隔
    例如:用cat查看/etc/passwd文件内容:

    在这里插入图片描述

2.2.2、用户影子文件

用户影子文件 /etc/shadow

  1. 作用:以防破解口令,将加密的口令转移到/etc/shadow里
  2. 该文件只能被root用户读取
  3. 每行是8个冒号分隔的9个域

例如:查看/etc/shadow文件第一行内容


字段2:密码字段为!!表示无密码,
linux默认不允许无密码登录。
字段3、字段8:时间从1970 年1 月1 日
算起。

2.2.3、1970年1月1日

  对于计算机而言,时间从1970年1月1日开始的意义,源于 Unix 操作系统的诞生。在 Unix 系统中,时间戳被定义为从 1970 年 1 月 1 日 00:00:00 UTC 开始的秒数。这个时间被称为 Unix 纪元(Unix Epoch)。

  Unix 纪元成为计算机中的一个重要参考时间,因为在 Unix 系统中,时间戳被广泛用于文件时间戳、进程启动时间、系统运行时间等。此外,许多编程语言和操作系统也采用 Unix 时间戳来表示日期和时间。

  使用 Unix 时间戳的好处之一是它可以跨越不同的时区和地理位置,在计算机系统之间保持一致性和可比性。例如,如果您的计算机在美国,而您的服务器在欧洲,使用 Unix 时间戳可以使这两个系统之间的时间戳具有可比性。

  因此,1970年1月1日对于计算机而言具有特殊的意义,是计算机中一个重要的时间起点,也是计算机中时间表示的基础。

2.3、用户管理

2.3.1、🔺思维导图

2.3.2、添加用户

命令:useradd username
使用该命令创建用户账户时,默认的用户家目录会被存放在/home目
录中,默认的Shell为/bin/bash,而且默认会创建一个与该用户同名
的组。
选项:
  
例:新建一个用户user1,UID、GID、主目录均按默认
  命令:useradd user1

在这里插入图片描述
在这里插入图片描述

2.3.3、设置密码

在这里插入图片描述

2.3.4、修改用户信息

命令:usermod [选项] username
选项:
  
例:将user1用户改名为u1,主目录为/test
命令:usermod –l u1 –d /test user1

2.3.5、删除用户

命令:userdel [-r] 用户名
添加-r选项:宿主目录/用户邮件也一并删除

2.3.5.1、宿主目录

  在 Linux 系统中,宿主目录(Host directory)指的是主机操作系统中的一个目录,在容器中可以通过挂载的方式访问到。宿主目录一般用于在容器中与主机系统共享文件或目录。

  在 Docker 中,可以使用 -v 或 --mount 选项将主机操作系统中的一个目录挂载到容器中的一个目录上。这样,容器中的进程就可以访问这个宿主目录中的文件或目录。例如:

docker run -v /host/path:/container/path -it image_name

  上面的命令将主机操作系统中的 /host/path 目录挂载到容器中的 /container/path 目录上。容器中的进程可以通过 /container/path 访问到 /host/path 目录中的文件或目录。

  需要注意的是,宿主目录的使用需要小心,因为容器中的进程可以访问主机操作系统中的文件系统,这可能会导致安全问题。因此,在使用宿主目录时,需要注意权限设置和安全措施,以确保容器中的进程不会破坏主机操作系统中的文件系统。

2.3.5.2、用户邮件

  在 Linux 中,用户邮件指的是用户在 Linux 操作系统上使用的电子邮件服务。Linux 操作系统中常用的邮件服务软件有 Sendmail、Postfix、Qmail 等。

  用户可以通过配置邮件服务器和邮件客户端来使用邮件服务。在 Linux 中,可以使用命令行邮件客户端软件如 Mutt、Mailx 或者 Graphical User Interface(GUI) 邮件客户端如 Thunderbird 来收发邮件。

  邮件服务器可以支持不同的邮件协议,如 SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)和 IMAP(Internet Mail Access Protocol)。SMTP 协议用于发送邮件,POP3 和 IMAP 协议用于接收邮件。用户可以根据需求选择不同的协议进行邮件服务的配置。

  在 Linux 中,用户邮件服务通常需要管理员进行配置和管理。管理员可以通过配置邮件服务器和邮件客户端,设置邮件服务的安全和权限等参数,以确保邮件服务的正常运行和用户信息的安全。

2.4、组配置文件

2.4.1、用户组账号

用户组账号文件 /etc/group:

  1. 文本文件,
  2. 包含了Linux组的名称和每个组中的成员列表
  3. 每行代表一个组,包含4个字段
  4. 组名、被加密的口令、GID、成员列表

例如:用cat查看/etc/group文件内容
在这里插入图片描述
/etc/group字段说明:

  1. 组名称;
  2. 组密码;
  3. 组ID;
  4. 组所包含的附加用户列表(以逗号分隔);

2.4.2、用户组加密文件

用户组加密文件 /etc/gshadow
5. 文本文件
6. 是/etc/group的加密文件
7. 每行代表一个组,包含4个字段
在这里插入图片描述
/etc/gshadow字段说明:

  1. 第一字段:用户组
  2. 第二字段:用户组密码,可是空或!,如果是空的或有!,表示没有密码;
  3. 第三字段:用户组管理者,可为空,如果有多个用户组管理者,用,号分割;
  4. 第四字段:组里的附加用户,如果有多个用户,用,号分割;

2.5、管理组

2.5.1、思维导图

在这里插入图片描述

2.5.2、添加组

在这里插入图片描述

2.5.3、组密码


  组密码的作用:非本用户组的用户想切换到本用户组身份时,可以通过密码保证安全性。
  如果没有设置组密码,则只有属于本用户组的用户能够切换到本用户组的身份。

2.5.4、组成员

2.5.5、组属性

在这里插入图片描述

  

2.5.6、查看所属组

在这里插入图片描述
  在这里插入图片描述

2.5.7、切换基本组

在这里插入图片描述
  临时切换主要组,以获得另一个组的权限。如果新组不是当前用户的属组,需要输入新组的密码(这个组已经设置密码)

2.5.8、删除组

在这里插入图片描述

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

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

相关文章

JavaEE 协议 信息是如何在一个机器传到另一个机器的(理论)

抓住你了! 文章目录JavaEE & 协议 & 信息是如何在一个机器传到另一个机器的1. 局域网2. 广域网3. IP与端口号(初识)4. 协议4.1 协议分类分层4.2 协议分层的好处4.3 真实的网络协议分层,TCP/IP五层网络模型4.3.1 应用层4.3…

Spark 3.0中 Spark SQL优化

在Spark3.x版本提供Adaptive Query Execution自适应查询技术,通过在”运行时”对查询执行计划进行优化,允许Planner在运行时执行可选计划,这些可选计划将会基于运行时数据统计进行动态优化,从而提高性能。 Adaptive Query Execut…

在DongshanPI-D1开箱使用分享与折腾记录实现MPU6050数据读取

前言 上一篇文章使用RT-Smart的IIC驱动OLED屏幕,进行基本的字符串显示,在使用过程中对RT-Smart有了一定熟悉,准备使用SPI驱动ST7789,但SPI接口没有引出,本次使用手上已有的传感器MPU6050进行使用。 过程 本次直接开始添加离线包…

NDK RTMP直播客户端二

在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴,接下来将完成推流工作,通过RTMP实现推流,即直播客户端。简单的说,就是将手机采集的音频数据和视频数据,推到服务器端。 接下来的RTMP直播客户端系列&#xff…

在国内pmp证书有什么含金量?

关于PMP的含金量,很多回答的说法都差不多,但那也只是字面上的含金量,真正的含金量还是得自己考过了之后能够给自己带来的帮助才方可对PMP含金量下定义,但能一眼就能看到的含金量是在一些招聘信息上关于PMP证书的要求,下…

【Axure教程】日期时间下拉列表

在系统中,我们经常会用到日期时间选择器,它同时包含了日历日期的选择和时间的选择,一般是下拉列表的形式进行选择。 今天作者就教大家如何在Axure中用中继器制作真实日期时间效果的下拉列表选。 一、效果展示 1、点击控件,可以…

游戏开发学习路线图(2023最新版)建议收藏

游戏开发是一个高度技术化的领域,需要掌握编程语言和编程技能。你可以从学习基本的编程概念和语法开始,如C、C#、Python等常用的游戏编程语言。掌握编程的基础知识是游戏开发的基石。很多小伙伴不知道怎么学习游戏开发,那么今天,就…

c/c++:windows平台下依赖的动态库,c底层是汇编语言,程序断点调试,反汇编,vs快捷键

c/c:windows平台下依赖的动态库,c底层是汇编语言,程序断点调试,反汇编,vs快捷键 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知…

【多媒体】多媒体架构

多媒体架构 首先,多媒体架构层通常由三个主要层次组成: 应用层:负责媒体的展示、控制和交互等功能,如播放器、视频编辑器等。应用层一般是用户最直接接触到的界面。 中间件层:提供了各种媒体操作的基本服务,如编解码、音频合成、图像处理、网络传输、数据存储等。中间件…

【图像分割】Meta分割一切(SAM)模型环境配置和使用教程

注意:python>3.8, pytorch>1.7,torchvision>0.8 Feel free to ask any question. 遇到问题欢迎评论区讨论. 官方教程: https://github.com/facebookresearch/segment-anything 1 环境配置 1.1 安装主要库: (1&…

day08_数组

今日内容 零、 复习昨日 一、作业 二、数组 零、 复习昨日 方法/函数是什么? 方法就是完成某个功能的一段代码的集合例如: 方法是 做饭 方法的作用是什么? 封装的思想方便维护方便复用 方法的参数列表是什么意思? 参数:方法执行所需的数据参数列表: 方法执行可以需要多个数据…

Linux下C/C++ SNTP网络时间协议实现

对于许多应用程序,特别是在小型计算机和微控制器上,不需要NTP的最终性能。便开发了简单网络时间协议(SNTP),为功能较弱的计算机提供时钟同步,而这些计算机不需要NTP的复杂性。 而简单网络时间协议&#xf…

简易糖尿病胰岛素注射量推荐系统运行记录(github项目)

前言 在github上找案例推理相关实现代码,找到这个项目,记录一下运行过程。项目地址:https://github.com/jcf-junior/Diabetes-CBR 运行记录 运行项目的前提是已经装好的所有request的包,电脑里已经安装过mongodb数据库。 原项目…

Linux XFS文件系统的备份与还原

文章目录Linux XFS文件系统的备份与还原XFS文件系统备份xfsdump语法xfsdump备份完整的文件系统用xfsdump进行增量备份XFS文件系统还原xfsrestore语法用xfsrestore观察和xfsdump后的备份数据内容简单恢复level 0 的文件系统恢复增量备份数据仅还原部分文件到xfsrestore交互模式L…

深入剖析Android视图层次结构,为什么UI界面如此多样化?

简述 在Android Framework中,渲染机制是指如何为应用程序的用户界面绘制和布局视图(View)。Android的视图层次结构(View Hierarchy)是由视图树中的每个节点表示的 。当更新视图树时,Android会执行以下流程…

记一次内存泄漏问题的排查

阶段一: 前段时间,突然发现服务在毫无征兆的情况下发生了重启。去看了一下容器退出的日志,发现内存利用率超过了100%,导致容器重启,进一步看了skyWalking,发现heap内存超了,当时只是简单的以为是…

HTML2.1列表标签

列表标签种类 无序列表 有序列表 自定义列表 使用场景:在列表中按照行展示关联性内容。 特点:按照行的形式,整齐显示内容。 一、无序列表 标签名说明ul无序列表整体,用于包裹li标签li表示无序列表的每一项,用于包…

【iOS】—— 消息传递和消息转发

消息传递和消息转发 文章目录消息传递和消息转发消息传递(方法调用)IMP指针IMP与SEL的区别与联系SEL是通过表取对应关系的IMP,进行方法的调用快速查找imp过程汇编代码查找过程总结消息发送快速查找imp(汇编):方法缓存慢速查找总结慢速查找消息…

全链路日志追踪

背景 最近线上的日志全局追踪 traceId 不好使了,不同请求经常出现重复的 traceId,或者通过某个请求的 traceId 追踪搜索,检索出了与该请求完全不相干的日志。我领导叫我去排查解决这个问题,这里我把我排查的过程思路以及如何解决…

真题详解(单元测试)-软件设计(五十)

真题详解(0/1背包)-软件设计(四十九)https://blog.csdn.net/ke1ying/article/details/130163955 单元测试 五个特征:模块接口、局部数据结构、重要执行路径、出错处理、边界条件。 模块接口,保证测试模块数据流正确的流入和流出。 测试模块用…