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

news2025/1/17 2:58:45

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

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

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

相关文章

基于深度学习YOLOv8\YOLOv5的骨科骨折诊断检测系统设计

本文将介绍基于深度学习YOLOv8\YOLOv5PySide6SQLite的骨折检测识别骨科诊断系统&#xff0c;该系统基于YOLOv8算法&#xff0c;并与YOLOv5版本进行比较&#xff0c;该系统不仅实现了对骨折骨损伤的识别&#xff0c;还提供了包括用户认证管理、模型快速切换及界面个性化定制在内…

我成功创建了一个Electron应用程序

1.创建electron项目命令&#xff1a; npm create quick-start/electron electron-memo 2选择&#xff1a;√ Select a framework: vue √ Add TypeScript? ... No √ Add Electron updater plugin? ... Yes √ Enable Electron download mirror proxy? ... Yes 3.命令&am…

【Qt知识】disconnect

在Qt框架中&#xff0c;disconnect函数用于断开信号与槽之间的连接。当不再需要某个信号触发特定槽函数时&#xff0c;或者为了防止内存泄漏和重复执行问题&#xff0c;你可以使用disconnect来取消这种关联。disconnect函数的基本用法可以根据不同的需求采用多种形式&#xff0…

JAVA:浅谈Stream流

在阅读本文章之前请了解什么叫 Lambda表达式 以及 如何使用 一、Stream流 Stream流的使用步骤&#xff1a; 获得一条Stream流&#xff0c;并且将数据放上去 单列集合获取Stream流 // 1. 单列集合获取Stream ArrayList<String> list new ArrayList<String>()…

YOLO10:手把手安装教程与使用说明

目录 前言一、YOLO10检测模型二、YOLO安装过程1.新建conda的环境 yolo10安装依赖包测试 总结 前言 v9还没整明白&#xff0c;v10又来了。而且还是打败天下无敌手的存在&#xff0c;连最近很火的RT-DETR都被打败了。那么&#xff0c;笑傲目标检测之林的v10又能持续多久呢&#…

【CTF Web】BUUCTF BUU LFI COURSE 1 Writeup(代码审计+PHP+文件包含漏洞)

BUU LFI COURSE 1 1 点击启动靶机。 解法 <?php /*** Created by PhpStorm.* User: jinzhao* Date: 2019/7/9* Time: 7:07 AM*/highlight_file(__FILE__);if(isset($_GET[file])) {$str $_GET[file];include $_GET[file]; }如果GET请求中接收到file参数&#xff0c;就会…

【vue实战项目】通用管理系统:作业列表

目录 目录 1.前言 2.后端API 3.前端API 4.组件 5.分页 6.封装组件 1.前言 本文是博主前端Vue实战系列中的一篇文章&#xff0c;本系列将会带大家一起从0开始一步步完整的做完一个小项目&#xff0c;让你找到Vue实战的技巧和感觉。 专栏地址&#xff1a; https://blog…

python ---requests

python包管理工具 pip 若发现报错&#xff0c;则可以通过 -i 命令指定软件源 requests库安装 通过 pip &#xff0c;如上 或通过 pycharm 搜索 requests &#xff0c;并安装即可 下载成功的证明 requests库使用 模拟 http 重要参数如下 如何模拟发包 支持模拟各种 http meth…

【机器学习-09】 | Scikit-Learn工具包进阶指南:Scikit-Learn工具包之高斯混合sklearn.mixture模块研究

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

智能监测,无忧续航!Battery Indicator for Mac,让电池状态尽在掌握

Battery Indicator for Mac 是一款设计精良的电池状态监测软件&#xff0c;它极大地增强了Mac用户对电池使用情况的感知和管理能力。 首先&#xff0c;Battery Indicator for Mac 能够实时显示电池电量百分比。这意味着&#xff0c;无论你是在处理文件、浏览网页还是观看视频&…

JL-8B/1111电流继电器 带板前接线附件 约瑟JOSEF

JL-8系列继电器型号&#xff1a; 电流继电器JL-8GB/11 电流继电器JL-8GA/21 过电流继电器JL-8GB/1 电流继电器JL-8B/521DK 电流继电器JL-8B/222DK 电流继电器JL-8B/1121 电流继电器JL-8B/12 电流继电器JL-8B/3211 电流继电器JL-8B/E2 电流继电器JL-8B/E3 过电流继电器JL-…

双向链表的讲解与实现

双向链表的讲解与实现 一、双向链表的结构二、顺序表和双向链表的优缺点分析三、双向链表的实现(使用VS2022)1.初始化、销毁、打印、判空2.尾插尾删、头插头删3.查找、指定插入、指定删除 四、代码优化五、完整 List.c 源代码 一、双向链表的结构 带头”跟前面我们说的“头节点…

DNS解析与Bond

一、DNS 1、DNS概念 DNS是域名系统的简称&#xff1a;域名和ip地址之间的映射关系互联网中IP地址是通信的唯一标识&#xff0c;逻辑地址访问网站&#xff0c;有域名&#xff0c;ip地址不好记&#xff0c;域名朗朗上口&#xff0c;好记。 域名解析的目的&#xff1a;实现访问…

Ivy优化算法-2024年7月SCI一区顶刊新算法!公式原理详解与性能测评 Matlab代码免费获取

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 一、初始化 二、协调有序的种群增…

李廉洋:6.5黄金原油亚盘震荡,美盘行情分析及最新策略。

黄金消息面分析&#xff1a;黄金价格周二下跌超过1%&#xff0c;原因是美元在本周晚些时候美国就业数据公布前趋于稳定&#xff0c;该数据可能为美联储的利率策略定下基调。另外&#xff0c;中东达成停火协议的可能性增加&#xff0c;也打压黄金的避险需求。不过&#xff0c;隔…

【Postman接口测试】第五节.Postman接口测试项目实战(下)

文章目录 前言七、课程添加接口postman测试 7.1 课程添加接口文档 7.2 针对课程添加设计接口测试用例 7.2.1 提取测试点 7.2.2 设计测试用例 7.2.2 使用Postman进行接口测试八、查询课程列表接口postman测试 8.1 查询…

七天进阶elasticsearch

elasticSearch 概述 Elasticsearch是一个近实时的搜索平台。这意味着&#xff0c;从索引一个文档直到这个文档能够被搜索到有一个很小的延迟&#xff08;通常是一秒&#xff09; 集群 一个集群就是由一个或多个节点组织在一起&#xff0c; 它们共同持有你全部的数据&#x…

phpstudy配置的站点不能访问了

无法打开站点 打开网站的时候出现如下 没有人为主动去更改配置项&#xff0c;今天就不能正常访问了 检查了一遍配置&#xff0c;发现并无大碍&#xff0c;那就重新配置一遍看看 配置phpstudy 1、新建网站 2、选择项目入口文件夹 3、配置伪静态 4. 确认保存 在我的电脑 C:\…

深入解读Prometheus Adapter:云原生监控的核心组件

一、引言 Prometheus Adapter的背景与重要性 在现代的云原生架构中&#xff0c;微服务和容器化技术得到了广泛的应用。这些技术带来了系统灵活性和扩展性的提升&#xff0c;但同时也增加了系统监控和管理的复杂度。Prometheus作为一款开源的监控系统&#xff0c;因其强大的指标…

回归模型的算法性能评价

一、概述 在一般形式的回归问题中&#xff0c;会得到系列的预测值&#xff0c;它们与真实值&#xff08;ground truth&#xff09;的比较表征了模型的预测能力&#xff0c;为有效量化这种能力&#xff0c;常见的性能评价指标有平均绝对误差&#xff08;MAE&#xff09;、均方误…