#渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础02之Openssl、软连接与硬连接、用户账号数据库

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                                                              #陇羽sec#

目录

OpenSSL简介

一、主要功能

二、版本相关

三、用法

四、与证书相关的注意事项

示例

软连接和硬连接

软连接(符号链接)

硬连接

创建方式

应用场景

 示例

 用户账号数据库

/etc/passwd

/etc/shadow

组账号

禁用账号


OpenSSL简介

OpenSSL是一个功能丰富的安全开源工具箱。

一、主要功能
  • SSL协议实现:包含SSLv2、SSLv3和TLSv1的实现,用于加密通信,保障数据传输安全,防止被恶意攻击者窃听或篡改。

  • 软算法:涵盖大量软算法,包括对称、非对称、摘要算法等。

  • 大数运算与密钥生成:能够进行大数运算,还可进行非对称算法密钥生成。

  • 编解码功能:具备ASN.1编解码库、证书请求(PKCS10)编解码等功能。

二、版本相关
  • 版本3.0的重大改变

    • 许可证变更:从OpenSSL3.0开始,过渡到了Apache License 2.0,旧版本(1.1.1及更早版本)仍适用旧的OpenSSL和SSLeay许可证。

    • 引入Providers概念:Providers聚集在一起提供可用的算法实现,可以编程或通过配置文件指定应用程序使用的Providers,OpenSSL 3.0标配5个不同的Providers,如FIPSProviders(默认禁用,需配置时使用enable - fips选项显式启用),并且通过Providers提供的算法实现只能通过“高级”API访问,“低级”API已废弃,未来版本可能删除,建议开发者使用高级API。

    • 版本管理格式改变:新格式为MAJOR.MINOR.PATCH,旧版本(1.1.1及以下)用版本号后面字母表示补丁级别的方法不再使用,现在用版本号最后数字表示补丁级别,MINOR变化表示可能添加新功能且API和ABI兼容。

三、用法
  • 对称加密:标准命令为enc,常用选项如 - salt(自动插入随机数作为文件内容加密,为默认选项)、- d(解密,解密算法需与加密算法一致,若不指定则使用默认算法)等。例如加密:#openssl enc - e - des3 - a - salt - in fstab - out jiami,解密:#openssl enc - d - des3 - a - salt - in fstab - out jiami

  • 单向加密:标准命令为dgst,使用时需指定相关选项和文件等。

  • 生成密码:使用passwd命令,有多种选项,如 - crypt、- 1、- apr1等。

  • 生成随机数:使用rand命令,可指定输出文件、随机数来源文件、编码格式(如 - base64、- hex)等选项。

  • 密钥证书管理相关操作

    • 私钥与公钥操作:先使用genrsa命令生成私钥,再用rsa命令从私钥中提取公钥,并且要注意控制私钥文件权限,可使用umask命令设置。

    • CA证书和申请证书:创建CA证书和申请证书时,需先查看配置文件(如/etc/pki/tls/openssl.cnf 文件),然后按照步骤进行操作,包括创建相关目录及文件、指明证书开始编号、生成私钥和自签证书(要注意私钥和证书的存放位置与配置文件匹配,生成证书时需填写信息,可指定证书有效期限,默认365天)等。在需要使用证书的主机上,也有一系列生成证书请求的步骤(如生成私钥、生成证书签署请求、发送请求给CA主机、CA颁发证书等),以及吊销证书的相关操作步骤(获取吊销证书的serial和subject信息、对比信息、执行吊销操作、生成吊销编号、更新证书吊销列表等)。

四、与证书相关的注意事项
  • 不建议使用OpenSSL申请自签名证书:从OpenSSL申请的自签名证书不安全,对网站保护作用不大。建议使用专业CA机构签发的证书,CA机构作为受信任的第三方,会验证证书请求者身份,确保只有合法实体获得SSL证书,从而增强信任和安全性、保证加密通信、具有浏览器兼容性、符合行业标准等。目前有很多厂商提供免费证书,如JoySSL提供永久免费(90天免费使用且支持连续签发)的SSL证书,部署于国内的验签服务器3 - 5分钟极速签发,只需简单域名解析验证即可开启https安全协议。

示例
┌──(root㉿kali)-[~/Desktop]
└─# openssl  passwd -1 123 
$1$MV8ACZKS$.2W.PK7cMcsBeejMQ8X/61概述
openssl passwd -1 是一个用于生成加密密码的命令,通常用于生成符合 crypt 格式的密码哈希。-1 选项表示使用 MD5 算法进行加密。
命令解释
openssl passwd -1 123 这个命令的作用是生成一个基于 MD5 算法的加密密码,密码为 123。
示例输出
执行这个命令后,你会得到一个类似于以下的输出:
$1$randomsalt$encryptedpassword 
这个输出是一个加密后的密码哈希,可以用于配置文件(如 /etc/shadow)中存储用户密码。┌──(root㉿kali)-[~/Desktop]
└─# openssl  passwd -5 123
$5$tICp8jLwD9IeyaYU$Q03Yt9zpX2PepKT2UVV7SlZYfVUZgz3IMf7ILR/GQt8概述
openssl passwd -5 命令用于生成一个基于 SHA-256 算法的密码哈希。这个命令通常用于生成安全的密码哈希,以便在配置文件或数据库中存储。
命令解析openssl: 这是一个用于处理 SSL/TLS 协议的工具,也可以用于生成密码哈希。passwd: 这是 openssl 的一个子命令,用于生成密码哈希。-5: 这个选项指定使用 SHA-256 算法来生成密码哈希。123: 这是你要生成哈希的密码。
软连接和硬连接

在 Linux 文件系统中,软连接(符号链接)和硬连接是两种用于引用文件的方式,但它们之间有一些重要的区别。

软连接(符号链接)
  1. 定义:软连接类似于 Windows 中的快捷方式,它是一个指向另一个文件或目录的文件。

  2. 特点:

    • 软连接有自己的 inode 号和用户数据块。

    • 可以对不存在的文件或目录创建软连接。

    • 软连接可以跨越文件系统。

    • 软连接可以指向文件或目录。

    • 删除原始文件会使软连接失效。

硬连接
  1. 定义:硬连接是多个文件名指向同一个文件数据块的入口。

  2. 特点:

    • 硬连接数相同的 inode 号。

    • 硬连接不支持对目录创建。

    • 硬连接不支持跨分区。

    • 删除原始文件不会影响硬连接的使用,因为硬连接实际上是指向文件数据块的入口。

    • 硬连接可以通过多个文件名访问同一个文件。

创建方式
  • 软连接:ln -s <源文件> <目标文件>

  • 硬连接:ln <源文件> <目标文件>

应用场景
  • 软连接:适用于需要跨文件系统或对目录创建链接的场景。

  • 硬连接:适用于需要在同一文件系统中创建多个文件名指向同一数据块的场景。

总结

  • 硬连接是同一个文件的多个名字,而软连接是不同的文件。

  • 硬连接不支持跨分区和对目录创建,而软连接支持。

  • 硬连接删除原始文件不影响其他硬连接,而软连接依赖于原始文件,删除原始文件会使软连接失效。

 示例
┌──(root㉿kali)-[~/Desktop]
└─# ln -s original.txt symlink.txt创建符号链接
ln -s original.txt  symlink.txt 是一个在Unix/Linux系统中创建符号链接(也称为软链接)的命令。符号链接是一个特殊的文件,它指向另一个文件或目录。
命令解释ln: 这是创建链接的命令。-s: 这个选项表示创建的是符号链接(软链接),而不是硬链接。original.txt: 这是你要创建链接的原始文件。symlink.txt: 这是你创建的符号链接的名称。┌──(root㉿kali)-[~/Desktop]
└─# ln ~/offsec123.txt hardlink.txtln:用于创建链接的命令。~/offsec123.txt :源文件的路径。hardlink.txt :目标链接的名称。
 用户账号数据库

在Linux系统中,用户账号信息主要存储在两个文件中:/etc/passwd/etc/shadow

/etc/passwd
  • 用途:存储用户账号的基本信息,包括用户名、用户ID(UID)、组ID(GID)、家目录和登录Shell等。

  • 格式:每一行代表一个用户,字段之间用冒号(:)分隔。具体字段如下:

    • 用户名
    •  密码(通常为x,表示密码存储在/etc/shadow中)
    •  用户ID(UID)
    •  组ID(GID)
    •  用户信息说明栏(通常包含用户的真实姓名等信息)
    •  家目录
    •  登录Shell
root:x:0:0:root:/root:/bin/bash 
  
/etc/shadow
  • 用途:存储用户账号的加密密码和其他与密码相关的安全信息。
  • 格式:每一行代表一个用户,字段之间用冒号(:)分隔。具体字段如下:
    •  用户名
    •  加密密码
    •  最近修改密码的日期
    •  密码不可被修改的天数
    •  密码需要重新修改的天数
    •  密码需要修改期限前的警告天数
    •  密码过期后的账号宽限时间
    •  账号失效日期
    •  保留字段
root:$6$...:18493:0:99999:7:::
      
组账号

组账号信息存储在/etc/group文件中。

/etc/group

  • 用途:存储组账号的信息,包括组名、组ID(GID)和组成员。

  • 格式:每一行代表一个组,字段之间用冒号(:)分隔。具体字段如下:

    •  

      组名

    •  

      组密码(通常为空)

    •  

      组 ID(GID)

    •  

      组成员(用逗号分隔)

禁用账号
在Linux系统中,有多种方法可以禁用用户账号。以下是几种常见的方法:
使用 passwd 命令锁定账号
sudo passwd -l username 
这个命令会锁定指定用户的密码,使其无法登录系统。-l 选项表示锁定密码。使用 chage 命令设置过期日期
sudo chage -E 1990-01-01 username 
这个命令会将指定用户的账号设置为过期。-E 选项后面跟随的日期表示账号的过期日期。设置为 1990-01-01 这样的日期,通常意味着账号已经过期,用户将无法登录。使用 passwd 命令查看账号状态
sudo passwd -S username 
这个命令会显示指定用户账号的状态信息,包括账号是否被锁定、密码是否过期等。-S 选项表示显示状态。

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

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

相关文章

ENSP RIP动态路由

RIP&#xff08;距离矢量路由协议&#xff09;以网络中所有链路的距离和矢量为依据计算最佳路径&#xff0c;是第一个动态路由协议。条数作为唯一的度量单位。默认开启水平分割&#xff08;从一个路由接口学到的路由信息&#xff0c;便不在从这个接口发送出去&#xff09;防止路…

华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)

华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目分享——共九套&#xff08;每套四十题&#xff09; 岗位——芯片与器件设计工程师 岗位意向——模拟芯片 真题题目分享&#xff0c;完整题目&#xff0c;无答案&#xff08;共8套&#xff09; 实习岗位…

MySQL45讲 第十一讲 怎么给字符串字段加索引?

文章目录 MySQL45讲 第十一讲 怎么给字符串字段加索引&#xff1f;一、引言二、前缀索引&#xff08;一&#xff09;概念与创建方式&#xff08;二&#xff09;数据结构与存储差异&#xff08;三&#xff09;确定前缀长度的方法 三、前缀索引对覆盖索引的影响四、其他索引创建方…

字节青训-小S的倒排索引

问题描述 小S正在帮助她的朋友们建立一个搜索引擎。为了让用户能够更快地找到他们感兴趣的帖子&#xff0c;小S决定使用倒排索引。倒排索引的工作原理是&#xff1a;每个单词都会关联一个帖子ID的列表&#xff0c;这些帖子包含该单词&#xff0c;且ID按从小到大的顺序排列。 例…

讲讲分布式与集群的区别?

大家好&#xff0c;我是锋哥。今天分享关于【讲讲分布式与集群的区别&#xff1f;】面试题。希望对大家有帮助&#xff1b; 讲讲分布式与集群的区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在现代计算和信息技术领域&#xff0c;分布式系统和集…

大数据新视界 -- 大数据大厂之 Impala 性能优化:解锁大数据分析的速度密码(上)(1/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

大数据新视界 -- 大数据大厂之 Impala 性能优化:数据存储分区的艺术与实践(下)(2/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【实用教程】Blazor 文件管理器中引入分页功能

分页是一项重要功能&#xff0c;可帮助我们有效地加载大量数据。我们的 Syncfusion Blazor 文件管理器允许在分段页面中显示文件和文件夹&#xff0c;从而更轻松地浏览大型目录。在文件管理器组件中处理大量数据时&#xff0c;此功能非常方便。此功能可用于有效地加载大量数据。…

C++上机实验|多态性编程练习

1.实验目的 (1)理解多态性的概念。 (2)掌握如何用虚函数实现动态联编 (3)掌握如何利用虚基类。 2.实验内容 设计一个飞机类 plane,由它派生出歼击机类fighter和轰炸机类 bomber,歼击机类fighter 和轰炸机类bomber 又共同派生出歼轰机(多用途战斗机)。利用虚函数和虚基类描述…

CSS弹性布局:灵活布局的终极指南

在网页设计中&#xff0c;CSS 弹性布局&#xff08;Flexbox&#xff09;是一个不可或缺的工具。它能帮助你轻松地排列和对齐元素&#xff0c;尤其是在响应式设计中表现出色。今天&#xff0c;我们就来深入探讨一下 Flexbox 的各个属性&#xff0c;让你彻底掌握这个强大的布局工…

Java:二维数组

目录 1. 二维数组的基础格式 1.1 二维数组变量的创建 —— 3种形式 1.2 二维数组的初始化 \1 动态初始化 \2 静态初始化 2. 二维数组的大小 和 内存分配 3. 二维数组的不规则初始化 4. 遍历二维数组 4.1 for循环 ​编辑 4.2 for-each循环 5. 二维数组 与 方法 5.1…

SQL,力扣题目1767,寻找没有被执行的任务对【递归】

一、力扣链接 LeetCode_1767 二、题目描述 表&#xff1a;Tasks ------------------------- | Column Name | Type | ------------------------- | task_id | int | | subtasks_count | int | ------------------------- task_id 具有唯一值的列。 ta…

Spring Security-02-Spring Security认证方式-HTTP基本认证、Form表单认证、HTTP摘要认证、前后端分离安全处理方案

Lison <dreamlison163.com>, v1.0.0, 2024.06.01 Spring Security-02-Spring Security认证方式-HTTP基本认证、Form表单认证、HTTP摘要认证、前后端分离安全处理方案 文章目录 Spring Security-02-Spring Security认证方式-HTTP基本认证、Form表单认证、HTTP摘要认证、…

3.1、软件需求分析

软件需求分析 1、 需求分析定义及获取2、 需求分析过程2.1 需求提炼2.2 需求描述2.3 需求验证 3、 需求分析任务3.1 软件需求规格文档编制沟通活动通用任务集软件需求规格说明的原则软件需求规格说明的结构 1、 需求分析定义及获取 需求分析&#xff1a;确定系统必须具有的功能…

qt QStandardItemModel详解

1、概述 QStandardItemModel是Qt框架中提供的一个基于项的模型类&#xff0c;用于存储和管理数据&#xff0c;这些数据可以以表格的形式展示在视图控件&#xff08;如QTableView、QTreeView等&#xff09;中。QStandardItemModel支持丰富的数据操作&#xff0c;包括添加、删除…

Ubuntu18.04更换PREEMPT RT内核

文章目录 1 安装环境2 下载实时内核3 安装必要库和软件4 配置4.1 解压kernel压缩包4.2 进入kernel文件夹4.2.1 操作步骤4.2.2 修改配置文件 5 构建和安装6 启动显示内核选择界面7 启动界面选择实时内核版本进入8 uname -a查看操作系统内核信息 1 安装环境 Ubuntu 18.04原生内核…

立冬到了,选择Codigger暖心陪伴

立冬了&#xff0c;寒风渐起&#xff0c;但Codigger开发者们依然热情如火&#xff0c;编程的热情不会因为冬天而减退&#xff0c;相反&#xff0c;更加激情澎湃。就像立冬的清晨&#xff0c;虽然寒冷&#xff0c;却有着一种清新的气息&#xff0c;让我们一起迎接新的挑战&#…

全文检索ElasticSearch到底是什么?

学习ElasticSearch之前&#xff0c;我们先来了解一下搜索 1 搜索是什么 ① 概念&#xff1a;用户输入想要的关键词&#xff0c;返回含有该关键词的所有信息。 ② 场景&#xff1a; ​ 1互联网搜索&#xff1a;谷歌、百度、各种新闻首页&#xff1b; ​ 2 站内搜索&#xff…

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战&#xff0c;从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分&#xff0c;它涵盖了相机镜头的显式动态模拟&#xff0c;以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程…

Follow软件的使用入门教程

开篇 看到很多兄弟还不知道怎么用这个当下爆火的浏览器&#xff01;在这里简单给需要入门的小伙伴一些建议&#xff1a; 介绍 简单解释一下&#xff0c;RSS 意思是简易信息聚合&#xff0c;用户可以通过 RSS 阅读器或聚合工具自主订阅并浏览各个平台的内容源&#xff0c;不用…