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

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.mzph.cn/pingmian/14389.shtml

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

相关文章

【运维项目经历|013】:VSFTP安全加固与性能优化项目

目录 项目名称 项目背景 项目目标 项目成果 我的角色与职责 我主要完成的工作内容 本次项目涉及的技术 本次项目遇到的问题与解决方法 本次项目中可能被面试官问到的技术性问题 问题1&#xff1a;什么是FTP&#xff1f; 问题2&#xff1a;什么是VSFTP&#xff1f; 问…

HQL面试题练习 —— 互相关注

目录 1 题目2 建表语句3 题解 1 题目 现有用户关注者列表记录表 t_user_follower&#xff0c;有两个字段&#xff0c;用户ID&#xff08;user_id&#xff09;&#xff0c;关注者列表&#xff08;follower_ids)&#xff0c;关注者列表中是关注用户的用户ID&#xff0c;数据样例如…

C语言--输入一个整数代表秒数,将这个数转化为对应的小时数、分钟数、和秒数

#include <stdio.h>int main() {int h,m,s;scanf("%d",&s);ms/60;//计算分钟数ss%60;//剩余的秒数hm/60;//计算小时数mm%60;//剩余的分钟数printf("%d %d %d\n",h,m,s); } //先将分钟数求出&#xff0c;再将多出的秒求出作为最后的打印的s //再用…

GESP 四级冲刺训练营(1):字符串

GESP 四级冲刺训练营&#xff1a;字符串 一、基本常识1. 功能函数2. 注意事项3. 输入输出3.1 输入3.2 输出 二、字符串算法1. 基础字符串1.1 回文字符串1.2 亲朋字符串 2. 尺取法求解2.1 尺取法公式2.2 最长小写子串 2.3 尺取法易错 三、拓展习题1. 相似字符串2. 两数之和 一、…

构建sqli-labs学习环境与掌握SQL注入技术教程

根据提供的文档内容&#xff0c;以下是关于安装sqli-labs学习环境和SQLI-LABS教学的详细步骤和知识点&#xff1a; 安装sqli-labs学习环境 环境准备 操作系统&#xff1a;CentOS 7.6主机名&#xff1a;xuegod63IP地址&#xff1a;192.168.1.63 关闭防火墙和SELinux 禁用并…

sharded jedis pipelined 执行后 数据并未存入redis

前言 因为历史原因&#xff0c;在某个同步菜单操作的方法中先清除缓存&#xff0c;然后在初始化缓存。本来很正常的逻辑&#xff0c;但是这个清除是db查询获取所有的菜单 然后循环一条条删除 然后在db查询有效的菜单操作 在循环一条条插进去 经统计这个菜单操作大概有个7千个 …

深度学习之基于MTCNN+Facenet的人脸识别身份认证系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着信息技术的快速发展&#xff0c;身份认证技术在日常生活和工作中的重要性日益凸显。传统的…

TCP/UDP的连接机制

TCP/UDP的连接机制 TCP的连接机制 TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的协议&#xff0c;提供可靠的、按顺序的数据传输服务。TCP的连接机制包括连接建立、数据传输和连接终止。 1. 连接建立&#xff08;三次握手&#xff09; TCP通过…

民国漫画杂志《时代漫画》第19期.PDF

时代漫画19.PDF: https://url03.ctfile.com/f/1779803-1248634637-c04860?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

使用vue和element_ui搭建后端页面

使用vue和element_ui搭建后台管理页面 效果顶部和左侧内容固定&#xff0c;中间内容滚动 <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

汽车生产线中的工业机器人应用HT3S-PNS-ECS(EtherCAT/Profinet)协议转换通讯方案案例分析

汽车生产线中的工业机器人应用HT3S-PNS-ECS(EtherCAT/Profinet)协议转换通讯方案案例分析 ——北京中科易联科技有限公司供稿—— 一、摘要 随着工业自动化的快速发展&#xff0c;汽车生产线对工业机器人的依赖日益增加。HT3S-PNS-ECS作为工业机器人中的关键组件&#xff0c;其…

GPIO模拟spi时序点亮数码管

目录 spi.h spi.c main.c 实验效果 spi.h #ifndef __SPI_H__ #define __SPI_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h"//spi初始化 void spi_init(); //spi写入数据 void spi_write(unsigned char data);#endif spi.c #include…

c++和Lua交互

lua vm Lua VM&#xff08;虚拟机&#xff09;是指运行Lua脚本的执行环境。Lua VM负责将Lua脚本编译成中间代码&#xff0c;然后将该中间代码解释执行或者编译成本地代码执行。在虚拟机之外&#xff0c;Lua的脚本代码并不能直接被计算机指令执行。因此&#xff0c;必须有想办法…

git分支常用命令

最近在用git提交代码的时候&#xff0c;发现有些命令不是很会&#xff0c;先记录几个常用分支命令&#xff0c;后续再补充&#xff0c;在执行git push命令提交代码的时候遇到报错&#xff0c;一并记录下。 1.git常用命令 新建分支&#xff1a; git branch <分支名称> 比…

Vue3组件通讯有哪些方式

目前最常用是props/$emit 和 vuex/pinia ,接下来是 provide/inject,其他不建议使用; 实际项目中&#xff0c;简单父子组件传递采用props/$emit &#xff0c;涉及全局共享的数据一般采用 vuex/pinia 结合存储对象localStorage/sessionStorage使用 1.props/$emit 1.props 单向数…

Python——基于共享单车使用量数据的可视化分析(1)

目录 &#x1f9fe; 1、数据集&#xff08;部分数据&#xff09; ✏️ 2、导入数据集与必要模块 1️⃣ 2.1 导入库以及字体包 2️⃣ 2.2 读取数据集 3️⃣ 2.3 查看数据集基本信息 ⌨️ 3、数据预处理 1️⃣ 3.1删除无关字段 2️⃣ 3.2对各字段进行中文标识 3️⃣ 3.3…

Open3D-Geometry-3:RGBD图像的数据处理

文章目录 0. 引言1. Redwood 数据集2. SUN 数据集3. NYU 数据集4. TUM 数据集0. 引言 Open3D 有图像的数据结构。它支持各种功能,例如read_image、write_image、filter_image和draw_geometries。 Open3D 图像可以直接与 numpy 数组相互转换。 Open3D RGBDImage由两个图像组成…

EI会议的社交活动有哪些?

EI会议&#xff08;Engineering Index会议&#xff09;不仅是一个展示最新研究成果的平台&#xff0c;也为与会者提供了丰富的社交活动机会。以下是一些常见的社交活动形式及其内容&#xff1a; 常见社交活动 1. 欢迎酒会&#xff08;Welcome Reception&#xff09; 时间和地…

图像超分辨率重建相关概念、评价指标、数据集、模型

1、图像超分辨率概念 1.1 基本定义 超分辨率&#xff08;Super-Resolution&#xff09;&#xff0c;简称超分&#xff08;SR&#xff09;。是指利用光学及其相关光学知识&#xff0c;根据已知图像信息恢复图像细节和其他数据信息的过程&#xff0c;简单来说就是增大图像的分辨…

【openpcdet中yaml文件的MODEL学习】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、代码二、详细解释MODEL: NAME: PointPillarMAP_TO_BEV (Mapping to Birds Eye View):BACKBONE_2D (2D Backbone Network): 总结 前言 提示&#xff1a;这里…