Linux操作基础(系统安全及应用)

news2025/1/18 11:44:39

文章目录

  • 一 、账号安全基本措施
    • 1.1 系统账号清理
    • 1.2 密码安全控制
      • 1.21 设置密码有效期
    • 1.3 命令历史限制
      • 1.31 修改history命令条数
      • 1.32 清空history的方式
      • 1.33 设置终端自动注销
  • 二 、使用su命令切换用户
    • 2.1 限制使用su命令切换用户
    • 2.2 sudo命令—提升执行权限
  • 三 、系统引导和登录控制
    • 3.1开关机安全控制
    • 3.2 终端登录安全控制
  • 四 、弱口令检测、端口扫描
    • 4.1弱口令检测—Joth the Ripper
    • 4.2 网络扫描—NMAP
  • 总结

一 、账号安全基本措施

1.1 系统账号清理

(1)将非登录用户的shell设置成/sbin/nologin

在这里插入图片描述

(2)锁定长期不使用账号权限

在这里插入图片描述
(3)删除无用账号

userdel 用户名        //删除用户,但不删除用户的家目录
userdel -r 用户名     //删除用户的同时,删除他的家目录

在这里插入图片描述

(4)锁定账号文件psswd、shadow

chattr +i /etc/passwd                #锁定账号
lsattr                               #查看用户状态    i就是被锁定
chattr -i /etc/passwd                #解锁账号

在这里插入图片描述

通过md5sum 可以查看校验和来判断文件有没有被修改过
在新添加一个用户之后,他的校验和发生了变化。
在这里插入图片描述

1.2 密码安全控制

1.21 设置密码有效期

针对新用户
在进入vim /etc/login.defs后,将PASS_MAX_DAYS的设置进行修改
在这里插入图片描述

修改过后发现新用户的,密码有效期发生了更改,而老用户的并没有更改

在这里插入图片描述

针对已有的用户
可以使用chage -M 数字 用户名 来修改已有用户的没密码有效期

在这里插入图片描述

也可以通过chage -d 0 用户名 来强制用户下次登陆修改密码,此时shadow文件中的第三个字段变成0

在这里插入图片描述

再次登录ls账户发现用户ls需要再次修改密码
在这里插入图片描述

1.3 命令历史限制

1.31 修改history命令条数

在默认情况下,history命令可以查看1000条命令,但是可以通过修改来改变查看命令的条数
进入vim /etc/profile 后修改文件配置
在这里插入图片描述

将HISTSIZE=1000修改成你需要的天数即可,或者是在最后一行输入export HISTSIZE=20 也可以完成。

在这里插入图片描述
而后输入source /etc/profile刷新加载该配置文件

在这里插入图片描述

1.32 清空history的方式

临时清空历史命令history -c

在这里插入图片描述

自动清空的方式 :

1. 注销时自动清空历史命令 
 [root@localhost ~]# vim ~/.bash_logout
 echo "" > ~/.bash_history
 ​
 2. 登录时自动清空历史命令
 [root@localhost ~]# vim ~/.bashrc
 echo "" > ~/.bash_history

在这里插入图片描述

在这里插入图片描述

1.33 设置终端自动注销

[root@localhost ~]# vi /etc/profile
 
export TMOUT=n           #设置登录后无操作退出登录超时时间(n秒后自动注销)

在这里插入图片描述

在source /etc/profile刷新后,通过echo $TMOUT可以查看到设置自动注销的时间。

在这里插入图片描述

二 、使用su命令切换用户

su 命令:可以在终端中切换已知密码的用户,root用户默认普通用户不需要密码。普通用户之间的切换需要密码的切换

su 用户名                   #切换用户
whoami                      #查看当前使用的用户
pwd                         #查看当前路径

2.1 限制使用su命令切换用户

将信任的普通用户添加到wheel组

在这里插入图片描述

vim /etc/pam.d/su 将第二行和第六行注释打开,可以实现root和加入wheel组的用户su权限操作

在这里插入图片描述

除了ls以外的普通用户都无法使用su命令

在这里插入图片描述

2.2 sudo命令—提升执行权限

sudo命令的用途及用法:
用途:以其他用户身份(如root)执行授权命令
用法:sudo 授权命令

配置sudo授权
visudo 或者 vim /etc/sudoers
记录格式:
用户 主机名列表=命令程序列表
可以使用通配符“ !”号进行取反操作。
权限生效后,输入密码后5分钟可以不用重新输入密码。
配置/etc/sudoers文件,可以授权用户较多的时使用

Host_Alias MYHOST= localhost 主机名
User_Alias MYUSER = yxp,zhangsan,lisi 需要授权的用户
Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd 授权
MYUSER MYHOST = NOPASSWD : MYCMD 授权格式

实例1:
首先切换到zs的用户下,然后创建一个新的网卡,发现不允许操作于是加上sudo后继续执行,发现还是不能执行于是切换到root用户下在sudoers中进行编辑。

在这里插入图片描述

在这里插入图片描述

编译完成后再次执行sudo

在这里插入图片描述

执行ifconfig命令后发现网卡添加完成

在这里插入图片描述

实例2:
如果想让zs和ls用户除了不能执行reboot 和 poweroff 的命令其他都能执行

首先,进入sudoers编辑,进行编辑,在设置别名的时候别名一定要大写

在这里插入图片描述

而后,切换到zs用户下进行测试,发现无法使用

在这里插入图片描述

三 、系统引导和登录控制

3.1开关机安全控制

调整BIOS引导设置原则

  • 将第一引导设备设为当前系统所在硬盘;
  • 禁止从其他设备(光盘、 U盘、网络)引导系统;
  • 将安全级别设为setup,并设置管理员密码。

GRUB菜单设置

  • 使用grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etc/grub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

GRUB限制的实现

  1. 使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件。

在这里插入图片描述

  1. 修改/etc/grub.d/00_ header文件中, 添加密码记录,并保存退出

在这里插入图片描述

在尾行添加密码记录

在这里插入图片描述

在这里插入图片描述
在此页面按e可以进入GRUB菜单
在这里插入图片描述

输入账号密码

在这里插入图片描述

在此页面按CTRL+x进入虚拟机

在这里插入图片描述

3.2 终端登录安全控制

限制root用户只在安全终端登录
安全终端配置:/etc/securetty

1、更改相关配置文件

在这里插入图片描述

我将tty3给注释掉

在这里插入图片描述

2、切换至指定终端进行测试

在这里插入图片描述

限制普通用户进行登录
建立/etc/nologin文件

在这里插入图片描述

文件创建后普通用户也无法登录

在这里插入图片描述
而后我将/etc/nologin文件删除,普通用户就可以完成登录

在这里插入图片描述

四 、弱口令检测、端口扫描

4.1弱口令检测—Joth the Ripper

  • 一款密码分析工具,支持字典式的暴力破解;
  • 通过对shadow文件的口令分析,可以检测密码强度;
  • 官方网站:John the Ripper password cracker

Joth the Ripper实例
安装方法 make clean 系统类型
主程序文件为john
1、把下载好的安装包放到opt目录下,并进行解压

在这里插入图片描述

在这里插入图片描述

2、 安装软件编译工具

在这里插入图片描述

3、 进行编译安装

在这里插入图片描述

4、准备待破解的密码文件

在这里插入图片描述

5、执行暴力破解

在这里插入图片描述

6、查看已经破解出的密码

在这里插入图片描述

4.2 网络扫描—NMAP

NMAP的扫描
nmap [扫描类型] [选项] <扫描目标>

常见的选项选项的作用
-p指定扫描的端口。
-n禁用反向DNS解析(以加快扫描速度)
-sSTCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYNACK响应包就认为目标端口正在监听,并立即断开连接; 否则认为目标端口并未开放。
-sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否 则认为目标端口并未开放。
-sFTCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而 忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sUUDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
-sPICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放 弃扫描。
natstat常用选项作用
-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n以数字的形式显示相关的主机地址、端1等信息。
-t查看TCP相关的信息。
-u显示UDP协议相关的信息。
-p显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r显示路由表信息。
-l显示处于监听状态的网络连接及端口信息。

在安装完nmap之后可以通过nmap命令来进行相应的操作

1、分别查看本机开放的TCP端口、UDP端口

在这里插入图片描述

2 、查看192.168.5.0/24的网段中有那些存活的主机

在这里插入图片描述

总结

这次学习了账号安全的基本措施以及su、sudo的命令、开关机和终端的安全控制以及弱口令检测和nmap扫描

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

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

相关文章

OpenCV:介绍 SURF(加速稳健特征)以及其使用

我们将了解 SURF 的基础知识 我们将了解 OpenCV 中的 SURF 功能 理论 在上一章中,我们学习了 SIFT 用于关键点检测和描述的方法。但它相对较慢,人们需要更快速的版本。2006年,Bay, H., Tuytelaars, T. 和 Van Gool, L 发表了另一篇论文 "SURF: 加速稳健特征",介…

机器学习:多项式拟合分析中国温度变化与温室气体排放量的时序数据

文章目录1、前言2、定义及公式3、案例代码1、数据解析2、绘制散点图3、多项式回归、拟合4、注意事项1、前言 ​ 当分析数据时&#xff0c;如果我们找的不是直线或者超平面&#xff0c;而是一条曲线&#xff0c;那么就可以用多项式回归来分析和预测。 2、定义及公式 ​ 多项式…

《花雕学AI》哪种技能5年10年后还会被市场需要? 该如何提高这些能力?

随着AI人工智能、ChatGPT等新的技术革新的发展&#xff0c;未来职业场景确实会发生变化&#xff0c;一些传统的职业可能会被取代&#xff0c;而一些新的职业可能会出现。根据世界经济论坛所发布的《未来就业报告》&#xff0c;一半的劳动力需要在2025年之前完成技能重塑。那么&…

Harmony OS 开发指南——DevEco Device Tool 安装配置

本文介绍如何在Windows主机上安装DevEco Device Tool工具。 坑点总结&#xff1a; 国内部分网络环境下&#xff0c;安装npm包可能会很慢或者超时&#xff0c;推荐使用国内npm源&#xff08;如淘宝源、华为源等&#xff09;&#xff1b;serialport这个npm包安装的过程中需要编…

C/C++笔记-记录一次对qmake生成的Makefile的分析(2023-02-07)

如下Qt代码&#xff1a; ConsoleDemo.pro QT core QT - guiTARGET ConsoleDemo CONFIG console CONFIG - app_bundleTEMPLATE appSOURCES main.cpp main.cpp #include <QCoreApplication> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplic…

安装Kafka 基础命令

目录 解压 改名 修改配置文件 创建目录用于存放日志 创建修改myid 添加环境变量 刷新环境变量 测试 启动zookeeper 启动kafka 关闭kafka kafka基础命令 查看消息队列 创建消息队列 查看队列详情 查询指定队列消息数量 生产者消费者 生产消息 消费消息 解压 …

简单分享婚庆小程序开发怎么做

婚庆行业的服务范围不再仅限于婚纱照、婚礼主持等服务&#xff0c;消费者希望在婚庆服务商获得更多的服务&#xff0c;导致行业服务范围不断扩大、服务类目越发丰富&#xff0c;而商家在此基础上&#xff0c;更需要考虑提高服务质量与效率&#xff0c;合理利用资源提供服务。小…

Jmeter5.1的安装

1.由于&#xff0c;jmeter 是用纯java开发的一个可跨平台的绿色软件&#xff0c;所以&#xff0c;我们在使用jmeter之前&#xff0c;必须要安装基于Windows下的jdk环境。下面安装jdk,检查是否安装jdk方法&#xff08;cmd运行输入java -version&#xff09;&#xff0c;如下图显…

81.qt qml-Canvas深入学习之好看的水纹波自定义控件V2

界面如下所示(外观参考ECharts 源码通过QML控件实现): 效果如下所示: 支持自定义颜色、自定义波峰数量、增幅、速度、水平偏移等 1.介绍 在我们之前38章38.qt quick-QML水纹波进度条_诺谦的博客-CSDN博客 写过一个简单的水纹波: 所以本质差不多. 2.QianRippleChartPage代码 该…

webgl-矩阵、旋转、平移、缩放

关键代码 旋转 /* * [ * cosB, -sinB, 0, 0, * sinB, cosB, 0, 0, * 0, 0, 1, 0, * 0, 0, 0, 1 * ] * * 矩阵本该是这个但是由于webgl的矩阵行和列是颠倒的所以我们传入的矩阵也需要倒置 */ rotationMatrix [ cosB, sinB, 0, 0, -sinB, cos…

[Python工匠]输出③容器类型

在Python中&#xff0c;最常见的内置容器类型有四种&#xff1a;列表、元组、字典、集合。 列表&#xff08;list&#xff09;是一种非常经典的容器类型&#xff0c;通常用来存放多个同类对象&#xff0c;比如从1到10的所有整数&#xff1a; 元组&#xff08;tuple&#xff09;…

phpstudy本地环境搭建图文教程

作者&#xff1a;Eason_LYC 悲观者预言失败&#xff0c;十言九中。 乐观者创造奇迹&#xff0c;一次即可。 一个人的价值&#xff0c;在于他所拥有的。可以不学无术&#xff0c;但不能一无所有&#xff01; 技术领域&#xff1a;WEB安全、网络攻防 关注WEB安全、网络攻防。我的…

chatgpt VS 文心一言使用对比实测

chatgpt VS 文心一言使用对比实测 什么是文心一言 文心一言&#xff08;英语&#xff1a;ERNIE Bot&#xff09;是由百度公司开发的聊天机器人&#xff0c;能够与人交互、回答问题及协作创作。该产品被传媒称为国际著名聊天机器人ChatGPT的中国版及其竞争对手[1][2]。目前已开…

机器学习——数据处理

机器学习简介 机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来 机器学习&#xff1a;从数据中自动分析获得模型&#xff0c;并利用模型对未知数据进行预测。 数据集的格式&#xff1a; 特征值目标值 比如上图中房子的各种属性是特征值&#xff0c;然…

数据结构——哈希表相关题目

数据结构——哈希表相关题目242. 有效的字母异位词1.暴力解法2.排序后比较3.哈希表383. 赎金信哈希解法49. 字母异位词分组438. 找到字符串中所有字母异位词3. 无重复字符的最长子串76. 最小覆盖子串349. 两个数组的交集1.排序双指针2.哈希表350. 两个数组的交集 II1.排序双指针…

C++缺省参数详解

在C中&#xff0c;我们经常需要定义函数并给它们传递一些参数。有时候&#xff0c;某些参数的值是不经常改变或者只有特殊情况下才需要指定&#xff0c;这时候我们可以用缺省参数来简化代码。 什么是缺省参数&#xff1f; 缺省参数是声明或定义函数时为函数的参数指定一个缺省…

javascript 中使用 ActiveMQ

javascript 中使用 ActiveMQ 1. 参考文档 https://www.eclipse.org/paho/files/jsdoc/index.html 2. html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" con…

SpringBoot——短信发送、手机验证码登录

目录 一、短信发送 1.1 阿里云短信服务 1.1.1 设置短信签名 1.1.2 模板管理 1.1.3 设置AccessKey 1.2 短信发送——代码开发 1.2.1 导入maven坐标 1.2.2 调用API 1.2 手机验证码登录 1.2.1 用户数据库表 1.2.2 修改过滤器 1.2.3 随机生成验证码的工具类 1.2.4 手机验证码登…

【Linux系统查找错误单词项目和vim的三种模式(命令,输入和底线命令模式)和项目的心得体会】

查找文章中拼写错误的单词的C语言程序 编写的C语言程序&#xff1a; #include<stdio.h> #include<string.h> int main() { FILE *fpfopen("essay.txt","r"); FILE *fp1fopen("words.txt","r"); if(fpNULL&&fp1NU…

CorelDRAW 2022矢量图形制作排版软件图文安装教程

CorelDRAW 2022是一款矢量图形制作和排版软件&#xff0c;做为目前图形设计类软件的领航者&#xff0c;CorelDRAW不断在每个新版本中完善功能&#xff0c;突破自我&#xff0c;并且广泛应用于印刷、出版、平面设计制作、包装设计&#xff0c;工业设计&#xff0c;以及服装设计裁…