网络安全快速入门(十五) linux用户管理

news2024/11/23 13:39:50

14.1 前言

前面我们已经大概了解了Linux的网络链接,今天我们来看看Linux用户管理的一些基础操作,话不多说,我们来开始吧!!

14.2  用户的基础知识

我们先了解一些有关linux用户的一些基础知识,我们从Linux用户开始来给大家进行讲解吧

14.2.1 Linux用户及用户组

什么是用户?

用户,也就是登陆系统的用户名,就是用来标识计算机上的资源归属,可以这样说,不管是Windows还是Linux,没有用户就无法登录系统;因此用户是必须存在的!

用户通常由以下几个要素构成:
  • 用户
  • 密码
  • 用户uid
什么是用户组?

而在Linux中,我们不仅仅通过用户来区分资源的归属及文件的权限,也通过用户组来进行区分,一般来说,用户组是多个用户的集合,通常用于方便多个用户的批量管理,以便让多个用户拥有相同的文件操作权限。

用户组通常由以下几个要素构成
  • 用户组id
  • 用户组名称
  • 用户组密码
  • 用户组所属用户

在大概了解用户及用户组之后,我们来大概看看Linux中存储用户信息的相关文件

保存用户及用户组信息的文件:
/etc/passwd <<<< 保存系统中全部的用户名
/etc/shadow <<<< 保存各个用户的密码
/etc/group <<<<保存系统中全部的用户组名
/etc/gshadow <<<<保存各个用户组的密码
 /etc/passwd文件详解

我们最常用的用户便是/etc/passwd,因此我们来通过/etc/passwd文件对用户进行详细说明

如下图

这是笔者的 etc/passwd文件,可以看到有很多行,在该文件中,每一行均为一个用户

因此:在统计有多少个用户可以登陆系统时,我们可以通过以下代码来进行操作

grep "/bin/bash$" /etc/passwd |wc -l

我们随便拿出一行来进行解释

可以看到,在该文件中,我们看到比较多的符号是冒号(:),因为在该文件中,用户之间的功能和作用通过冒号(:)进行分隔,分隔为七段,这七段作用分别如下:

第一段:用户名
第二段:密码占位符,为了安全,放到了另一文件(/etc/shadow)
第三段:用户的uid
第四段:gid
第五段:用户描述信息
第六段:用户的家目录
第七段:用户的shell类型

这里我们看到一个新的东西,uid和gid,我们来大概解释一下

用户uid

也是用户的身份标识,是计算机为用户设置的一个唯一的数字,当计算机识别用户的时候,就是通过该数字进行识别的,因此,uid不可以重复!!!

用户gid

这是用户组的身份标识,与uid一样,这是唯一的标识,当计算机识别用户组的时候,就是通过该数字进行识别的,因此,gid也不可以重复!!!

用户的描述信息

一般为用户名称,可以后面去进行自定义,这里不做解释!

用户的家目录

这里有两种分类,

  • 管理员家目录
    • 存放于/的root下
  • 用户家目录
    • 存放于/home下于用户名同名的家目录中

用户的shell类型:

常见的shell类型有两种:

  • /bin/bash <<< 默认shell类型,可以登录系统
  • /sbin/nologin <<<无法登入系统
在Linux中,用户大致分为以下三类:
  • 管理员用户
    • uid:0
    • 特点:
      • 默认只有一个,就是root
      • 该类用户是没有任何权限约束,可以对整个系统进行任意操作!!
  • 系统用户
    • uid1-999(也有一说为1-500,)
    • 特点:
      • Linux安装完成后或者安装了某个程序自动生成的用户
      • 这类用户是默认不能登入系统
  • 普通用户
    • uid:1000+ 
    • 特点:
      • 需要运行命令来创建
      • 普通用户权限非常小的,通常仅仅能在自己的家目录下进行操作
      • 默认该用户的家目录是在/home下的和用户同名的目录
用户组的分类:
  • 用户的基本组
    • /etc/passwd中第四段gid,所指的就是用户的基本组
  • 用户的附加组
    • 除了主组以外的组,就是附加组

注意:

  • 一个用户可以属于多个组
  • 一个用户只能有一个主组,其他就是附加组
  • 在用命令创建完用户的时候,默认的会创建一个组,这个组名和用户名是相同的(默认该组就是用 户的主组)

14.2.2 Linux的文件属性

我们前面知道,不论是Linux用户还是用户组,都是为了标识计算机上的资源归属,说到底是对文件进行操作的,那么问题来了,怎么查看用户在该文件下拥有什么权限呢?

查看Linux的文件属性

命令如下

ls- l 文件名

我们来随便看一个文件名并对其进行讲解,如下图

我们通过ls-l查看该文件得到上图反馈,我们来逐一进行了解,如下图

从左往右十个框,意思如下:

第一列:表示文件属性,”-“为一般文件,”d“为目录文件,“l”为链接文件
第二列:这三个为用户属主执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第三列:这列为用户属组执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第四列:表示除文件属主属组外其他用户的执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第五列:代表这个目录下还有几个目录,若为一般文件时则显示为.1
第六列:为文件所属用户名称
第七列:文件所属用户组名称
第八列:文件大小,单位为字节
第九列:文件上次修改日期的时间
第十列:文件名称

这里了解一下文件属主及属组:

  • 属主:文件属于谁,谁创建的文件,文件的属主就是谁
  • 属组:设置文件对一个特定用户组所有的权限

注意:

  • 属主、属组默认只有一个的
  • 如果这个用户不属于属主和属组,那么这个用户就是属于其他用户

文件所属只有三类用户:

  • 属主
  • 属组
  • 其他用户

关于用户的基础及文件属性的相关知识我们就讲到这里了,接下来我们开始了解相关命令操作

14.3 用户相关命令操作:

14.3.1 创建用户

命令:useradd

格式:

useradd [选项] 用户名

(这里默认直接创建用户,无密码但无法直接登录,需设置密码才可以通过其他终端进行登录,否则只能通过root权限去su至相关用户名!)

选项:

  • -c “string” :设置新用户的描述信息

举例:

创建用户user1,描述信息为ch225

useradd -c ch225 user1

我们通过passwd来看结果

  • -d /path/to/dir :设置用户的家目录

默认为/home下的与用户同名的家目录中,可通过该选项进行设置

举例:

创建用户user2,目录在/

useradd -d /user2 user2

看结果:

  • -g设置用户的gid:

举例:

创建用户user3,gid为5

useradd -g 5 user3

看结果

  • -G gid:指定用户的附加组

举例:

创建用户user4,附加gid为1005

useradd -G 1005 user4

看结果

  • -m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项,不做演示)
  • -M:不自动创建家目录

举例:

创建用户user5,不创建家目录

useradd -M user5

看结果:

  •  -r:创建系统用户
    • 用此选项创建用户特点:
      • 默认该用户能登录系统
      • 默认用户无家目录
      • 默认用户uid<999
      • 默认 shell 类型是 /bin/bash

举例:

创建用户user6,为系统用户

useradd -r user6

看结果

  • -s shType :指定用户的shell类型
    • /bin/bash
    • /sbin/nologin

举例:

创建用户user7,shell类型为/sbin/nologin

useradd -s /sbin/mologin user7

看结果

  • -u uid:指定用户的uid

举例:

创建用户user8,用户uid为9999

useradd -u 9999 user8

看结果

注意:(uid默认于gid为同一id,因此会出现两个9999)

14.3.2 groupadd命令

作用 : 新建用户组
格式:
​​​​​​​groupadd 组名:
例子:新建一个组名是 a1 的组
groupadd a1

(这里通过/etc/group来看结果,因篇幅问题,这里不做演示!)

选项:

  • -g :指定用户组的组id

举例:

新建一个组名是 a2 ,组 id 1080 的组
groupadd -g 1080 a2

14.3.3 id命令

作用:显示指定用户的 id 信息
格式:
​​​​​​​id [选项] 用户名

默认选项查看所有信息,具体反馈结果如下:

选项:

  • -u:显示用户的uid
例子:
显示ch225 uid
id -u ch225
  • -g:显示用户的gid
例子:
显示ch225的 gid
id -g ch225
  • -G:显示用户的全部组id

例子:

显示user4的全部组id

id -G user4

看结果

14.3.4 passwd命令

作用:修改用户的密码(给用户设置密码)
格式:
passwd [选项] 用户名
  • passwd 用户 --修改指定用户的密码
  • passwd --修改当前用户的密码
  • 默认root能修改其他用户的密码,其他用户只能修改自己的密码

选项:

  • -l:锁定用户(只有root用户才能进行操作)
  • -u:解锁用户(只有root用户才能进行操作)

14.3.5 userdel命名

作用:删除用户
格式:
userdel [选项] 用户名
选项:
  • -r:在删除用户的时候,同时删除用户的家目录
例子:
删除用户 aa1 的同时删除其家目录
userdel -r aa1

14.3.6 chsh命令

作用:修改用户的 shell 类型
格式:
chsh [-s type] 用户名
例子:
修改tom的shell类型为/bin/bash
chsh -s /bin/bash tom
14.3.7  usermod 命令
作用:修改用户的基本信息
格式:
usermod [选项] 用户名
选项:
  • g:修改基本组(组不存在,现创建组)
    • 例子:usermod -g 1080 ch225
  • -G:修改附加组
    • 例子:usermod -G 2226 user4
  • -u:修改uid
    • 例子:usermod -u 0 aa2
      • (这里需要注意,uid只能有一个,因此需修改root的uid)
  • -c:修改用户的描述信息
    • 例子:usermod -c "aaaaaaaaaaaa2" ch225
  • -d:修改用户的家目录
    • 例子:usermod -d /ch225 ch225
  • -s:修改用户的shell类型
    • 例子:usermod -s /sbin/nologin ch226
  • -l:修改用户名
    • 例子:usermod -l ch2254 ch225

14.3.7 su命令

作用:切换用户
格式:
su 用户名
选项:
  • -c:普通用管理员身份执行命令
例子:
su -c "mkdir /a66" root
注意:
苏切换用户后,返回需要输出命令:exit

好了,今天的内容就先到这里了,如果由错误或者疏漏还请各位大佬指正,感谢各位观看,我们下期再见0..0

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

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

相关文章

告别传统,拥抱未来——上门回收小程序引领变革

随着科技的飞速发展&#xff0c;我们生活的方方面面都在经历着前所未有的变革。在环保和可持续发展的背景下&#xff0c;传统的废品回收方式已经难以满足现代社会的需求。而上门回收小程序的出现&#xff0c;正以其便捷、高效的特点&#xff0c;引领着废品回收行业的变革。 一、…

Threejs路径规划_基于A*算法案例完整版

上节利用了A*实现了基础的路径规划&#xff0c;这节把整个功能完善好&#xff0c;A*算法一方面是基于当前点找到可以到达的点&#xff0c;计算从出发点到此点&#xff0c;以及此点到目的地的总成本&#xff0c;比较出最小的那个&#xff0c;再用最小成本的点继续找到它可以到达…

LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题

这些问题可能与硬件、软件或通信协议有关。以下是详细的原因分析和可能的解决方案&#xff1a; 一、硬件原因 串口线缆或接口问题&#xff1a; 由于长时间使用&#xff0c;串口线缆可能出现接触不良或损坏。接口松动也可能导致通讯中断。 解决方案&#xff1a;检查并更换串口…

Sentinel重要的前置知识

文章目录 1、雪崩问题及解决方案1.1、雪崩问题1.2、超时处理1.3、仓壁模式1.4、断路器1.5、限流1.6、总结 2、服务保护技术对比3、Sentinel介绍和安装3.1、初识Sentinel3.2、安装Sentinel 4、微服务整合Sentinel ​&#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在…

Java进阶-SpringCloud使用BeanUtil工具类简化对象之间的属性复制和操作

在Java编程中&#xff0c;BeanUtil工具类是一种强大且便捷的工具&#xff0c;用于简化对象之间的属性复制和操作。本文将介绍BeanUtil的基本功能&#xff0c;通过详细的代码示例展示其应用&#xff0c;并与其他类似工具进行对比。本文还将探讨BeanUtil在实际开发中的优势和使用…

QML英文拟态键盘,英文数字符号输入法

文章目录 QML 英文拟态键盘思维导图更多细节欢迎私信效果图&#xff1a;核心代码&#xff1a;KeyboardLetter.qml&#xff0c;**CustomerKeyboard.qml**&#xff0c;Example.qmlCustomerKeyboard.qmlButton.qmlButtonBase.qmlButtonStateImage.qmlDialogBase.qmlExample.qmlIma…

必示科技参与智能运维国家标准预研线下编写会议并做主题分享

近日&#xff0c;《信息技术服务 智能运维 第3部分&#xff1a;算法治理》&#xff08;拟定名&#xff09;国家标准预研阶段第一次编写工作会议在杭州举行。本次会议由浙商证券承办。 此次编写有来自银行、证券、保险、通信、高校研究机构、互联网以及技术方等29家单位&#xf…

ESP32 实现获取天气情况

按照小安派AiPi-Eyes天气站思路&#xff0c;在ESP32 S3上实现获取天气情况。 一、在ESP32 S3实现 1、main.c 建立2个TASK void app_main(void) {//lvgl初始化xTaskCreate(guiTask, "guiTask", 1024 * 6, NULL, 5, NULL);//wifi初始化、socket、json处理taskcustom_…

ue5 中ps使用记录贴

一、快捷键记录 放大图形 ctrlalt空格 放大图形 缩小视口 ctrl空格 ctrlD 取消选区 ctrlt缩小文字 w魔棒工具 选择魔棒的时候把容差打开的多一点 二、案例 移动文字 在相应的图层选择 移动文字 修改图片里的颜色 在通道里拷贝红色通道&#xff0c;复制红色通道粘贴给正常图…

Softing工业将亮相2024年阿赫玛展会——提供过程自动化的连接解决方案

您可于2024年6月10日至14日前往美因河畔法兰克福11.0号馆&#xff0c;Softing将在C25展位展出&#xff0c;欢迎莅临&#xff01; 作为工业应用中数据交换领域公认的专家&#xff0c;Softing工业致力于帮助各行各业的客户部署网络自动化和优化生产流程。 使用Softing产品&…

kind: Telemetry

访问日志 访问日志提供了一种从单个工作负载实例的角度监控和理解行为的方法。 Istio 能够以一组可配置的格式为服务流量生成访问日志&#xff0c; 使操作员可以完全控制日志记录的方式、内容、时间和地点。 有关更多信息&#xff0c;请参阅获取 Envoy 的访问日志。 https:/…

TAS5711带EQ和DRC支持2.1声道的20W立体声8V-26V数字输入开环D类数字功放音频放大器

前言 数字功放很难搞&#xff0c;寄存器很多&#xff0c;要配置正确才有声音&#xff0c;要想声音好&#xff0c;要好好调整。 TAS5711出道很多年了&#xff0c;现在仍然在不少功放、音箱中能看到。 TAS5711特征 音频输入/输出 从 18V 电源向 8Q 负载提供 20W 功率 宽 PVDD…

Plesk面板中如何导出的MS SQL server数据库

需要导出我的SQL Server 的数据库文件&#xff0c;由于我使用的Hostease的Windows虚拟主机产品默认带普通用户权限的Plesk面板&#xff0c;但是不知道如何在Plesk上操作导出&#xff0c;因为也是对于Hostease主机产品不是很了解&#xff0c;因此联系Hostease的咨询了Hostease技…

[论文笔记]Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

引言 今天带来思维链论文 Chain-of-Thought Prompting Elicits Reasoning in Large Language Models的笔记。 作者探索了如何通过生成一系列中间推理步骤的思维链&#xff0c;显著提升大型语言模型在进行复杂推理时的能力。 1 总体介绍 语言模型的规模扩大已被证明能够带来…

redis--告警处理设置密码连接

解决当前告警提示 告警一 backlog参数控制的是三次握手的时候server端收到client ack确认号之后的队列值&#xff0c;即全连接队列 vim /etc/sysctl.conf net.core.somaxconn 1024sysctl -p 告警二 内核参数 0、表示内核将检查是否有足够的可用内存供应用进程使用&#xff1…

第八节 条件装配案例讲解

一、条件装配的作用是什么 条件装配是 Spring 框架中一个强大的特性&#xff0c;使得开发者能够创建更加灵活和可维护的应用程序。在 Spring Boot 中&#xff0c;这个特性被大量用于自动配置&#xff0c;极大地简化了基于 Spring 的应用开发。 二、条件装配注解 <dependen…

STM32_HAL_FLASH 模拟 EEPROM

1. STM32 FLASH简介 STM32F407ZGT6 的 FLASH 容量为1024K 字节&#xff0c; STM32F40xx/41xx 的闪存模块组织如图 STM32F4 的闪存模块由主存储器、系统存储器、 OPT 区域和选项字节等 4 部分组成。 主存储器&#xff0c;该部分用来存放代码和数据常数&#xff08;如 const 类型…

macOS平台安装PostgreSQL的五种方法

macOS 平台安装 PostgreSQL 数据库主要有以下五种方法。 EDB安装工具 EDB 公司提供的图像安装工具&#xff0c;支持 macOS 以及 Windows 平台。该工具可以安装 PostgreSQL 服务器、pgAdmin&#xff08;管理开发工具&#xff09;以及 StackBuilder&#xff08;安装 PostgreSQL…

漫画|基于SprinBoot+vue的漫画网站(源码+数据库+文档)

漫画网站 目录 基于SprinBootvue的漫画网站 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

0基础学习Mybatis系列数据库操作框架——Mysql的Geometry数据处理之WKB方案

大纲 序列化反序列化完整TypeHandlerSQL XML完整XML Mapper测试代码代码 在《0基础学习Mybatis系列数据库操作框架——Mysql的Geometry数据处理之WKT方案》中&#xff0c;我们介绍WTK方案的优点&#xff0c;也感受到它的繁琐和缺陷。比如&#xff1a; 需要借助ST_GeomFromText…