当前位置: 首页 > news >正文

linux中的系统安全

一.账号安全

将非登录用户的shell设为/sbin/nologin

系统中用户有三种:超级管理员   普通用户  程序用户  

前两种用户可以登录系统,程序用户不给登录 所以称为非登录用户

命令格式:  usermod -s  /sbin/nologin(改已有用户)

锁定长期不使用的账号

passwd -l 用户   或者 usrmod -L 用户

解锁:passwd -u 用户   或者usrmod -U 用户

删除无用的账号

userdel 用户

锁定账号文件  passwd  shadow

passwd 存账户信息     shadow存账户密码 

锁定这两个文件安全

命令格式:chattr +i 文件

lsattr  查看特殊权限

操作如下

没设置chattr之前,vim a 文件时是可以进去编辑的

当编辑a文件时 wq要保存时,显示保存不了

然后再进入vim a 文件中  文件内容不变 

 解锁文件 :chattr - i 

操作如下:

解锁完可以编辑文件内容

密码安全控制

设置密码规则、修改密码配置文件

 对新建用户密码规则:

 

 对于已有用户修改密码规则

命令:chage 参数  用户名

修改密码的有效期  chage - M 数字  用户

 如果不知道参数 可以chage 用户名 直接回车 会自动回显

 chage - d 0 用户名           用户在下次登录时必须修改密码 

 命令历史的限制

默认的历史命令为1000条

如果要临时删除时 命令格式:history -c   之前的命令就看不见了

永久清除历史命令

历史命令都存储在bash.history中  如果要清除 就要把里面的命令清空

 

 有三种方式

1.退出后清除 ~/.bash_logout  

2.开机后清除  ~/.bashrc (对自己有效、对当前用户生效)

3.对所有用户有效,不仅仅是root下的用户   /etc/profile

操作如下:

 表明将history都写成空格

 终端自助注销  设置闲置多少秒之后  会登出系统  

设置所有用户闲置10秒自动退出  进入/etc/profile中

使用su命令切换用户 

su 不加— 代表不完整的切换 意思就是下一个用户会继承上一用户的所有东西  什么都没变

su  加—    代表完整切换  意思就是说下一个用户不会继承上一用户的东西,两者不一样 

 两者变量一模一样

当 su - 时

 root与张三的变量改变

密码验证

root 切换到普通用户不需要验证密码

普通用户互相切换  验证需要密码

linux中的PAM认证

 pam模块类似于一个插件,别人吧功能写好,放这。如果需要用 则把模块调过来即可。

查看pam 详细信息

查看pam的目录

 点so结尾 代表功能模块

当用户来访问某一程序,如果这一程序启用了pam模块,它会先去读取配置文件,然后按照配置文件调用模块进行操作 !!!

 进入到配置文件中:

tcp中  auth:账号的认证与授权 看此账号是否存在

  accout :看此账号的有效性(限制或允许用户对某个服务的访问时间  在什么时间段可以访问或拒绝访问) 

passwd  :看密码对不对跟复杂性

session:用户会话期间的控制,可在以使用多少资源

control中

 

shell模块 

 

 进入到shell的组 把/bin/sch删除

 

当/bin/sch被删除时,就不在shell列表里,就不能通过  

总结:当设置shell模块(pam_shells.so)时,只有shell类型里面的内容才可以通过,不在shell类型(/etc/shell)里面的 通过不了

pam_nologin.so模块        如果要维护的情况下可以使用这一模块

 在etc下面建立一个nologin的文档

 不影响su功能

但是登录不了系统

 所以如果有/etc/nologin的文件存在 普通用户是登录不了系统的

 补充tips :

此时此刻boot用户还是可以切换普通用户的

 当把wheel的#(代表注释)去掉之后,意味着只能是wheel组里面的用户才可以使用

 

此时再看一下 root 切换普通用户的状态  是不给登录的

 如果要改变 就把root加入到wheel组中   又可以切换了

总结: 

limit模块 控制进程占用资源

ulimit - a 可以查看limit里面的所有选项

 limits 在/etc/security文件夹中

 

 

 pgrep - l - u liwu (仅查看liwu的进程并且进程的名字)

当一开始只有一个进程的时候 输入四个进程  超过五个显示没有子进程

 

 

参数详细解答

 例如  nofile 设置打开的文件数目

 

 因为之前nofile设置的是1024   当用1025测试时,可以超过了

此时再压力测试 就没有问题了

 

注释: ab   是压力测试  测试一个终端在同一时间能干几件事情  如上图  同一时间接收1025个文件 总共接收5000个文件

压力测试 来源于httpd-tools 包

sudo

sudo命令的缺点:如果不去设置  任何人都能切换到root上

sudo  提权操作

sudo相当于一个程序,写一条命令 可以su让用户(用户一开始没有使用这个命令的权利)去使用 

sudo的配置文件在  visudo中

 

 举例操作:

此时liwu还没有挂载的权限

如果想要liwu拥有挂载的权限 就要修改visudo 

 

 命令要写绝对路径  用which mount查

此刻再验证一下liwu的mount权限 此时挂载成功

! 取反的意思  liwu无法挂载

 

 nopasswd 无需输入密码 限时五分钟 在这五分钟之内不需要输入密码

子目录  

主配置文件放置一些重要文件   子配置文件放置用户的个性化配置  当一次性有20个配置文件,为了方便管理 设置子配置文件,为了方便管理.如果不设置的情况下 改主配置文件,里面的二十个用户都会被改变

当设置完自配置文件之后,先执行子配置文件,再执行主配置文件的命令

别名

 

nmap (网络扫描工具)

 

相关文章:

linux中的系统安全

一.账号安全 将非登录用户的shell设为/sbin/nologin 系统中用户有三种:超级管理员 普通用户 程序用户 前两种用户可以登录系统,程序用户不给登录 所以称为非登录用户 命令格式: usermod -s /sbin/nologin(改已有用户&#…...

LeetCode(209)长度最小的子数组⭐⭐

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s 7, nums [2,3,1,2,4,3]输出:2…...

【JAVA】MySQL中datetime类型23:59:59自动变为下一天的00:00:00

如:2024-08-11 23:59:59 变成了 2024-08-12 00:00:00。 解析:数据库入库的时候会有500毫秒的进位,然而程序在赋值时间给变量的时候很大概率会超过500ms,有时是999ms。 解决方案 // DateUtil Hutool官网 将生成的时间往前偏移99…...

Unity游戏内相机(主角头部视角)的旋转问题:“万向节锁定”(Gimbal Lock)

前言: 在Unity中,相机的正前方是Z正半轴,相机的正右方是X正半轴,相机的正上方是Y正半轴。这个很好理解。 现在,我想要相机看向左前上方45,你会觉得要怎么做呢? 如果是我的话,我的第一…...

Keras实现seq2seq

概述 Seq2Seq是一种深度学习模型,主要用于处理序列到序列的转换问题,如机器翻译、对话生成等。该模型主要由两个循环神经网络(RNN)组成,一个是编码器(Encoder),另一个是解码器…...

1080p 1k 2k 4k 8k 分辨率,2K就不应该存在。

众所周知 1K(1080P):分辨率为19201080像素,2K:分辨率为25601440像素4K:分辨率为38402160像素8K:分辨率为76804320像素 边长比例,和像素比例如下: 2K宽高都是1k的1.333…...

接口芯片选型分析 四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD

四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD。 其中GC26L31S可替代AM26LS31/TI,GC26L32S替代AM26LS32/TI,GC26E31S替代TI的AM26LV31E...

使用.Net nanoFramework获取ESP32板载按键的点击事件

本文以 ESP32-S3-Zero 板载的按键为例,介绍了GPIO的使用方法,以及如何获取按键的点击事件。板载按钮作为自带的天然用户按钮,除了其本身的功能外,也可以作为某些应用场景下的简单的交互方式。 1. 引言 对于一般的产品来说&#x…...

安全远控如何设置?揭秘ToDesk、TeamViewer 、向日葵安全远程防御大招

写在前面一、远程控制:安全性不可忽略二、远控软件安全设置实测 ◉ ToDesk◉ TeamViewer◉ 向日葵 三、远控安全的亮点功能四、个人总结与建议 写在前面 说到远程办公,相信大家都不陌生。远程工作是员工在家中或者其他非办公场所上班的一种工作模式&am…...

Spring AOP(详解)

目录 1.AOP概述 2.AOP相关术语 3.Spring AOP的原理机制 3.1JDK动态代理 3.2 CGLIB动态代理 3.3简单代码展示 3.3.1JDK动态代理 3.3.2CGLIB动态代理 4.Spring的AOP配置 4.1pom.xml 4.2增强方法 4.3切点 4.4切面 5.基于注解的AOP配置 5.1.创建工程 5.2.增强 5.3AOP…...

Linux系统编程之进程

目录 1、进程关键概念 1.什么是程序,什么是进程,有什么区别 2.如何查看系统中有那些进程 3.什么是进程标识符 4.什么叫父进程,什么叫子进程 5.C语言的存储空间是如何分配的 2、进程创建 1.fork函数创建进程 2.vfork函数创建进程 3、…...

Vue中使用require.context自动引入组件的方法介绍

我们项目开发中,经常需要import或者export各种模块,那么有没有什么办法可以简化这种引入或者导出操作呢?答案是肯定的,下面就为大家介绍一下require.context require.context 是 webpack 提供的一个 API,用于创建 con…...

Java 监控诊断利器 Arthas monitor/watch/trace 命令使用详解

目录 一、命令介绍二、测试Demo三、命令使用示例3.1、monitor 命令3.1.1、监控primeFactors方法调用情况(5秒一个周期,每过5秒将这5秒统计的信息输出)3.1.2、监控primeFactors方法调用情况(5秒一个周期,每过5秒将这5秒…...

论文阅读:基于MCMC的能量模型最大似然学习剖析

On the Anatomy of MCMC-Based Maximum Likelihood Learning of Energy-Based Models 相关代码:点击 本文只介绍关于MCMC训练的部分,由此可知,MCMC常常被用于训练EBM。最后一张图源于Implicit Generation and Modeling with Energy-Based Mod…...

【Verilog】期末复习——设计一个带异步复位端且高电平有效的32分频电路

系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...

基于springboot的java读取文档内容(超简单)

读取一个word文档里面的内容,并取出来。 代码: SneakyThrowsGetMapping(value "/readWordDoc")ApiOperationSupport(order 1)ApiOperation(value "文档读取 ", notes "文档读取 ")public R ReadWordDoc () {System.o…...

K8S亲和性,反亲和性,及污点

nodeName:硬匹配,不走调度策略 nodeSelector:根据节点的标签选择,会走调度的算法 只要是走调度算法,在不满足预算策略的情况下,所有pod都是pending node节点的亲和性: 硬策略:必…...

2024年,AI、Web3、区块链、元宇宙:有没有“相互成就“的可能性?

加密圈最近有点冷清,曾经是科技界的宠儿,去年中旬开始一直在被SEC的诉讼困扰着,而且正处冷清的熊市,被迫居于 AI 后面的次要地位。 曾在 Web3 领域活跃并具有影响力的企业家 Jeremiah Owyang 住在旧金山,目前也深入研…...

Mac电脑好用的修图软件:Affinity Photo 2中文 for Mac

Affinity Photo 2提供了广泛的图像编辑和调整工具,使用户能够对照片进行精确的编辑和改进。它支持图像裁剪、旋转、缩放、变形等操作,以及曝光、色彩、对比度、饱和度等调整。 非破坏性编辑:软件采用非破坏性编辑方式,即对原始图…...

数据结构之Radix和Trie

数据结构可视化演示链接,也就是视频中的网址 Radix树:压缩后的Trie树 Radix叫做基数树(压缩树),就是有相同前缀的字符串,其前缀可以作为一个公共的父节点。同时在具体存储上,Radix树的处理是以…...

viem ABI工具使用教程:编码、解码和类型推断全攻略

viem ABI工具使用教程:编码、解码和类型推断全攻略 【免费下载链接】viem TypeScript Interface for Ethereum 项目地址: https://gitcode.com/gh_mirrors/vi/viem viem是一个轻量级、可组合且类型安全的TypeScript以太坊接口工具库,其强大的ABI工…...

RCLAMP0542T.TCT‌静电保护TVS 二极管阵列 SEMTECH 电子元器件IC 芯片

RCLAMP0542T.TCT‌ 是由 ‌SEMTECH‌ 公司推出的一款超低电容、双通道ESD(静电放电)保护 TVS 二极管阵列,具备0.45pF 超低电容、5A 浪涌承受能力和超小型 SLP1610P4T 封装,专为高速数据接口设计,广泛应用于通信设备、消…...

DoL-Lyra整合包完整使用指南:5分钟掌握汉化版Degrees of Lewdity一键安装

DoL-Lyra整合包完整使用指南:5分钟掌握汉化版Degrees of Lewdity一键安装 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS DoL-Lyra整合包为Degrees of Lewdity玩家提供了一站式解决方案&…...

OpenClaw日志分析进阶:百川2-13B-4bits量化模型自动错误诊断

OpenClaw日志分析进阶:百川2-13B-4bits量化模型自动错误诊断 1. 为什么需要自动化日志分析 深夜两点,我的手机突然震动起来——服务器又报警了。强撑着睡意打开终端,面对满屏的报错日志,那种无力感相信每个运维人都深有体会。传…...

C#实战:基于WebAPI与Modbus构建EMS核心采集服务

1. 为什么需要EMS核心采集服务? 在工业现场,我们经常会遇到几十台甚至上百台智能电表、传感器等设备需要监控。这些设备可能来自不同厂家,使用不同的通信协议,数据格式也各不相同。想象一下,如果每个设备都需要单独开发…...

3分钟掌握Umi-OCR插件:打造你的专属文字识别工具箱

3分钟掌握Umi-OCR插件:打造你的专属文字识别工具箱 【免费下载链接】Umi-OCR_plugins Umi-OCR 插件库 项目地址: https://gitcode.com/gh_mirrors/um/Umi-OCR_plugins 还在为不同场景下的文字识别需求而烦恼吗?Umi-OCR插件库为你提供了完美的解决…...

ViGEmBus终极指南:Windows游戏控制器虚拟化完整解决方案

ViGEmBus终极指南:Windows游戏控制器虚拟化完整解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus Windows游戏控制器虚拟化是许多PC游戏玩…...

做客户管理之前,先看看这 6 个教训

方案 A:传统开发方式分析 传统开发需要组建专业团队,包括产品经理、UI 设计师、前后端开发、测试工程师等。中等规模项目团队 5-8 人,开发周期 3-6 个月,人力成本 30-100 万。开发过程中需求沟通成本高,业务人员用自然…...

ColorMemLCD电子纸驱动库:面向LPM013M126A的嵌入式低功耗显示方案

1. ColorMemLCD 库概述ColorMemLCD 是一款专为 JDI(Japan Display Inc.)LPM013M126A 型彩色内存式 LCD 显示模块设计的嵌入式图形驱动库。该库并非从零构建,而是继承自 ARM mbed OS 生态中广泛使用的GraphicDisplay抽象基类,延续了…...

Adafruit DPS310传感器驱动库深度解析与嵌入式实践

1. Adafruit DPS310 压力传感器驱动库深度解析与工程实践 1.1 项目定位与硬件基础 Adafruit DPS310 是一款高精度、低功耗的数字气压/温度传感器,基于 Infineon(原 Bosch Sensortec)DPS310 芯片设计。该芯片采用 MEMS 技术,集成…...