网络安全快速入门(十五)(中)用户的文件属性及用户相关文件详解

15.4 序言

我们之前已经了解了关于用户管理的一些基础命令,本章节我们就来了解一下关于文件权限的一些小知识以及基于某些文件来手动创建一个用户,话不多说,我们开始吧!

15.5 文件权限

在linux中,文件都是通过查看属主,属组和其他用户的权限来进行运行,查看或修改的,而在这里就涉及到文件权限的问题了,而我们在上篇文章已经说过了文件权限的属性问题,在这里就不重新赘述了,我们在这里着重了解一下文件的权限,我们可以通过ls -l 命令来查看文件属性,自然也可以查看文件权限了,还是老规矩,我们通过举例来说明一切问题!

我们查看etc下的passwd文件的属性及权限,查看命令如下:

ls -l /etc/passwd

执行结果如下图

如上图,开头的十个字符就是文件的属性位及权限位我们在上篇文章已经讲过了, "."前面的依次为文件属性,之后为文件属主的权限,文件属组的权限以及其他用户对于该文件的权限,

常见的文件表示类型:

  • -:一般文件
  • d:目录文件
  • l:链接文件

具体文件权限有以下分类

文件权限分类:

  • r:可以执行catheadtail等命令读取文件中的内容
  • w:可以用vi/vim或者重定向等操作向文件中写入内容或着修改内容
  • x:可以执行文件

如果文件为目录文件的话,则

目录权限分类:

  • r:可以执行ls命令,来查看目录下有哪些文件
  • w:可以在目录执行文件创建和删除等操作
  • x:可以执行cd等命令
注意:
  • 每一类用户的权限顺序都是:读、写、执行
  • 如果相对应的权限,就会出现字符,没有就会显示

而后面的两个root则代表用户属主及属组,(这里我们在上一篇文章中已经了解过了,这里不多做赘述,仅说明用户角色简写)

用户角色简写如下:

  • 属主用户(u
  • 属组用户(g
  • 其他用户(o
  • 全部用户(a

文件属性就暂且到这里,接下来我们来了解一些相关命令吧!

15.6 文件属性相关命令

15.6.1 chown

作用:修改文件的属主

格式:

chown 文件属主.文件属组 [-R] 文件名称
选项:
  • -R:在修改目录的时候,将目录的目录中的文件一并修改

举例:

修改文件/passwd文件属主及属组均为ch230

chown ch230.ch230 passwd

看结果

chmod 赋权 文件名

ok,下一个

15.6.2 chgrp

作用:修改文件的属组
格式:
chgrp 用户名 [-R] 文件名
选项:
  • -R:在修改目录的时候,将目录的目录中的文件一并修改

用法跟上述chown用法一样,这里不做举例!

15.6.3 chmod

作用:修改文件的权限

格式:
chmod 赋权 文件名

值得一提的是,这里有两种赋权方法,

方法一:(通过用户身份简称对文件进行赋权)

  • +:增加权限(在原有的基础上修改)
    • 例子:chmod o+w 11.txt 给其他用户增加写的权限
  • -:去除权限(在原有的基础上修改)
    • 例子:chmod g-r 11.txt
  • =:将权限修改位指定的权限(和原权限无关)
    • 例子:chmod u=rwx,g=rw,o=r 11.txt

方法二:(通过数组对文件进行赋权)

数字表示权限:
  • 0 :无权限
  • 1 :执行;
  • 2 :写;
  • 3.:写执行;
  • 4 :读;
  • 5: 读执行;
  • 6:读写;
  • 7:读写执行;

(这里要注意,用数字方法会将文件本身重新赋权,因此要提前了解文件本身权限方便进行赋权!!!!

例子:
将/passwd文件属主修改为读写执行,其他属性不变
chmod 744 passwd

看结果

这里需要注意:

  • 如果是一个数字修改的是其他用户
  • 如果是俩个数字修改的是其他用户和属组
  • 三个就属主、属组、其他用户

ok,接下来我们来了解创建用户的相关文件

15.7 创建用户的相关文件:

/etc/passwd<<<用户存放位置
/etc/shadow<<<用户密码存放位置
/etc/group<<<用户组存放位置
/etc/skel <<< 用户家目录模板
/etc/login.defs <<<控制新建用户的默认属性
/var/spool/mail/ <<<用户邮箱存放位置

passwd文件我们在上一篇博文已经讲过了,接下来我们针对其他五个相关文件来进行逐一讲解,话不多说直接开搞:

15.7.1 /etc/shadow文件

我们已经知道了,该文件是存放用户密码的文件,因此安全性相对而言会比/etc/passwd的安全性要高,两者的文件权限对比如下:

  • /etc/passwd文件权限位:

  • /etc/shadow文件权限位:

可以看到,/etc/passwd文件所用用户均可读取,而/etc/shadow文件所有用户均不可操作,因此,/etc/shadow文件的安全性会比/etc/passwd文件安全性要高,但是这里需要注意的是:root可以无视文件用户权限对文件进行修改和操作,因此需要防止有用户通过root身份对敏感文件进行更改!!!

接下来我们来看etc/shadow文件内容:

文件内容如下:

这里我们发现格式似乎与/etc/passwd文件的格式大差不差,但是区别还是有的,接下来我们提取出一行进行逐一分析:

如下图

这里我们需要知道,该文件通过冒号对文件内容进行分割,我们通过冒号对文件内容进行逐一分析:

字段含义
用户名(账户)用户登录系统时所使用的用户名
加密后的密码经过SHA512加密后的密码,(默认经过SHA512方法进行加密,也可以通过md5,db5等加密方法进行加密!!)
最后一次修改时间距离1970年1月1日到现在的天数,可通过date -d "1970-01-01 15775 days" 命令来查看到现在的总天数,空子段表示密码年龄被禁用
最小修改时间间隔修改密码之间的时间间隔,空子段或0表示无限制!
密码使用有效期到期后用户必须修改密码,在经过这些天后,密码仍然可用,但是下次登陆会强制修改密码!
密码需要变更前的警告天数密码国企前几天进行警告,孔子段表示没有强制密码过期
密码过期后的宽限时间密码过期后,依然接受此密码的天数,空最短表示没有强制密码过期
失效时间密码失效的绝对天数,可以在不删除用户的情况下锁定用户,不让其登录,也是从1970年一月一日开始计算,若到期,则账号失效,一般用在商业版中!
标志

目前没有功能,等待新功能加入!!
 

这里需要注意的是,该文件对任何用户没有任何权限,因此我们需要去用root权限对文件进行修改,再修改过程中,我们在保存退出时需要进入两次末行模式才可以退出该文件!!!

15.7.2 /etc/group文件

该文件是存放用户组的文件,文件与/etc/passwd文件有些相似,具体格式如下图:

我们来截取一条记录对该文件进行分析:

与/etc/passwd文件类似的点是,都是通过冒号进行分隔,分为 4 个字段,每个字段对应的含义为: 组名密码占位符GID该用户组中的用户列表我们来一个一个进行分析

组名

用户组的名称,有字母或数字构成。同 /etc/passwd 中的用户名一样,组名也不能重复。一般用字母,不用纯数字。

密码占位符,和 /etc/passwd 文件一样,这里的 “x” 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中。
组id(GID)群组的 ID 号,Linux 系统就是通过 GID 来区分用户组的,同用户名一样,组名也只是为了便于管理员记忆
用户组的用户列表此字段列出每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解,该字段显示的用户都是这个用户组的附加用户

这里需要注意:

每个用户都可以加入多个附加组,但是只能属于一个初始组(主组)。所以我们在实际中,如果需要把用户加入其他组,则需要以附加组的形式添加。

15.7.3 /etc/skel

该文件位用户家目录模板,

我们要知道,在我们船舰新用户的时候,系统会将该文件复制到指定的家目录下,修改目录名称,属主,属主及文件权限,从而生成一个用户家目录,具体操作如下:

新用户的家目录生成步骤如下:
  • /etc/skel目录复制到home'下,改名位和用户名相同
    • 将这个目录的属主、属组改为该用户
    • 将目录的权限改位700
      • 假设用户tom
        • cp -r /etc/skel /home/tom
        • chown -R tom.tom /home/tom
        • chmod -R 700 /home/tom

这里我们了解,接下来我们在进行手动创建用户名称时候再来进行详细解释!!

15.7.4 /etc/login.defs

该文件主要控制新建用户的默认属性,一般不常用,我们可以进去看一下

可以看到,该文件很多都是通过#来进行注释的,这个文件看起来也很多,这里我们就看一些我们比较常用的几个关键字段,(似乎该文件并不常用)具体如下代码框:

#QMAIL_DIR /var/spool/mail
指定新用户的邮箱位置
PASS_MAX_DAYS 99999
新用户密码最长有效期
PASS_MIN_DAYS 0
新用户修改密码最短时间
PASS_MIN_LEN 5
用户密码最短长度
PASS_WARN_AGE 7
密码到期前警告时间长度
UID_MIN 
新建普通用户的默认uid最小值
UID_MAX
新建普通用户的默认uid最大值
CREATE_HOME
默认创建家目录
USERGROUPS_ENAB
当前用户组中没有用户,是否删除用户组
ENCRYPT_METHOD SHA512
指定加密算法

这个文件我们进做了解,不赘述,如有详细了解请通过其他博文进行了解,还请各位读者见谅!

15.7.5 /var/spool/mail/ 

该文件一般用来存储用户邮件,用户邮件是该目录与用户同名的目录!目前来讲对我们用处不大,但是在创建用户的时候最好创建该目录!这里我们同样不过多赘述,如需了解请查看其他相关博文!!

我们今天的内容就到这里了,如有错误还请大佬在评论区进行指点,感谢各位观看,我们下期再见0..0

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

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

相关文章

深入解析ArrayList是如何实现自动扩容的?【源码深度解析】

一 、分析ArrayList扩容源码 通过在 &#xff08;JDK 6 及更低版本中&#xff09;API我们知道&#xff0c;调用无参构造创建的ArrayList集合&#xff0c;初始容量为10 接下来我们深入源码&#xff0c;探究当时作者是怎么构思的 借助Debug工具&#xff0c;一步一步进入 上图看到…

修复Windows上“发生意外错误”问题的5种方法,总有一种适合你

在尝试启动网络适配器的设置菜单时,是否收到“发生意外错误”消息?不用担心,因为在大多数情况下解决这个问题很容易。我们将向你展示在Windows 11或Windows 10计算机上解决此问题的多种方法。 为什么我收到“发生意外错误”的消息 当网络适配器出现问题时,Windows会显示一…

2023年计算机图形学课程知识总结

去年就该写的&#xff0c;但是去年这个时候太忙了。 就写来自己看看。留个记录留个念 文章目录 1. 图形&#xff0c;图像的定义2. 点阵、矢量3. 走样&#xff0c;反走样4. 字符裁剪精度&#xff08;1&#xff09; 串精度&#xff08;2&#xff09; 字符精度&#xff08;3&…

记录:linux桌面管理基础-X11协议(X window system)

1、认识X11 X11是X协议&#xff0c;版本号为11。X协议是专门被设计为linux桌面管理服务的&#xff0c;而linux桌面环境不像windows那样作为系统内核的一部分&#xff0c;作为一个普通程序运行在用户态上。该协议的设计初衷是为了linux的图形界面满足跨平台、跨网络、与具体硬件…

C/C++图形库Easyx的使用教学

绘制简单的图形窗口 学会创建图形化窗口 包含头文件 graphics.h包含已被淘汰的函数easyx.h包含最新的函数 两个函数就可以创建窗口 Initgraph&#xff08;&#xff09;函数的定义 图形窗口的创建 #include<graphics.h>int main() {initgraph(800, 600);while (1);…

【数据库】MySQL概述(初阶)

文章目录 一、mysql概述1、数据库基本概念&#xff1a;2. 数据模型2.1 关系型数据库2.2 理解数据模型 更多数据库MySQL系统内容就在以下专栏&#xff1a; 专栏链接&#xff1a;数据库MySQL 一、mysql概述 1、数据库基本概念&#xff1a; 数据库&#xff1a; 数据存储的仓库。数…

雨课堂课件快速自动刷完

文章目录 背景f12检查 查看源代码脚本脚本使用方法总结 背景 有时候老师让我们在雨课堂里刷完这个课件。这个课件呢有时候它有三百多页&#xff0c;每一页需要停留3秒左右才可以算看过课件&#xff0c;你如果一页一页的去点的话非常的折磨人。因为课件太多页了&#xff0c;我就…

什么是Spark RDD?(RDD的介绍与创建)

什么是Spark RDD&#xff1f;(RDD的介绍与创建) 一、RDD介绍 1、特点2、RDD的存储和指向3、RDD与DAG4、RDD的特性5、RDD分区6、RDD操作类型 二、RDD创建 1、引入必要的 Spark 库2、配置 Spark3、RDD创建4、示例代码 一、RDD介绍 RDD: 弹性分布式数据集&#xff08;Resilient…

Ant Design Vue Table组件全单元格编辑实现方案

在ant上的table常见用法是一行的元素可编辑&#xff0c;如下&#xff1a; 但是现在有一个需求是全部单元格均可编辑&#xff0c;如何实现呢&#xff1f; 表格组件 <a-tablev-if"query.personnel_type 0"size"middle"row-key"id":scroll&qu…

【深度学习】安全帽检测,目标检测,Faster RCNN训练

文章目录 资料环境尝试训练安全帽数据训练测试预测全部数据、代码、训练完的权重等资料见&#xff1a; 资料 依据这个进行训练&#xff1a; https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_object_detection/faster_rcnn ├── bac…

人工智能机器学习系统技术要求

一 术语和定义 1.1机器学习系统 machinelearningsystem 能运行或用于开发机器学习模型、算法和相关应用的软件系统。 1.2机器学习框架 machinelearningframework 利用预先构建和优化好的组件集合定义模型,实现对机器学习算法封装、数据调用处理和计算资源使用的软件库。 1…

实时监控与报警:人员跌倒检测算法的实践

在全球范围内&#xff0c;跌倒事件对老年人和儿童的健康与安全构成了重大威胁。据统计&#xff0c;跌倒是老年人意外伤害和死亡的主要原因之一。开发人员跌倒检测算法的目的是通过技术手段及时发现和响应跌倒事件&#xff0c;减少因延迟救助而造成的严重后果。这不仅对老年人群…

特征交叉系列:FM和深度神经网络的结合,DeepFM原理简述和实践

从FM&#xff0c;FFM到DeepFM 在上两节中介绍了FM和FFM 这两种算法是推荐算法中经典的特征交叉结构&#xff0c;FM将特征交叉分解到底层属性&#xff0c;通过底层属性的点乘来刻画特征交叉的计算&#xff0c;而FFM引入特征域的概念&#xff0c;对不同的特征对所引用的底层属性…

Redis 单线程问题 BigKey问题

前言 简单的redis基础类型以及常用操作我们都也已经介绍过了 现在今天我们来谈谈redis对于单线程是需要怎么理解的 以及redis假设遇见大key我们需要怎么去查询和删除呢??? redis单线程 假设有个人现在问你一个问题:redis是单线程的还是多线程的 这个问题本身就不严谨 就像问…

植物大战僵尸杂交版2.0.88最新版+防闪退工具V2+修改工具+高清工具

植物大战僵尸杂交版&#xff0c;不仅继承原作的经典玩法&#xff0c;而且引入了全新的植物融合玩法&#xff0c;将各式各样的植物进行巧妙的杂交&#xff0c;孕育出前所未有、功能各异的全新植物。 创新的杂交合成系统 游戏引入了创新的杂交合成系统&#xff0c;让玩家可以将不…

每天CTF小练--ctfshow新手村

easy_base 密文&#xff1a;0XezFWZfNXafRjNlNXYit3dvh2cmR3Y 等号在前面&#xff0c;直接倒序后解码 ctfshow{base64_is_easy} 代码解&#xff1a; s 0XezFWZfNXafRjNlNXYit3dvh2cmR3Y print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转…

LLaSM:Large language and speech model

1.Introduction 级联方法使用ASR将语音输入转化为文本输入,语音到文本会导致信息损失,本文提出LLaSM,一个具有跨模态对话能力的大型语音与语言模型,能够理解和遵循语音与语言指令,借鉴LLaVA,利用预训练的语音模态编码器和大语言模型,使用Whisper作为语音编码器,将语音…

iOS18 新变化提前了解,除了AI还有这些变化

iOS 18即将在不久的将来与广大iPhone用户见面&#xff0c;这次更新被普遍认为是苹果历史上最重要的软件更新之一。据多方报道和泄露的消息&#xff0c;iOS 18将带来一系列全新的功能和改进&#xff0c;包括在人工智能领域的重大突破、全新的设计元素以及增强的性能和安全性。现…

Linux之文件操作

目录 第1关&#xff1a;文件的创建 任务描述 相关知识 文件的创建 编程要求 答案&#xff1a; 第2关&#xff1a;文件打开与关闭 任务描述 相关知识 文件的打开 文件的关闭 编程要求 答案&#xff1a; 第3关&#xff1a;文件读写操作 任务描述 相关知识 文件的写操作 文件的读…

Meta Llama 3 残差结构

Meta Llama 3 残差结构 flyfish 在Transformer架构中&#xff0c;残差结构&#xff08;Residual Connections&#xff09;是一个关键组件&#xff0c;它在模型的性能和训练稳定性上起到了重要作用。残差结构最早由He et al.在ResNet中提出&#xff0c;并被广泛应用于各种深度…