安全增强型 Linux

书接上篇

一查看selinux状态

SELinux的状态:

enforcing:强制,每个受限的进程都必然受限

permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志

disabled:禁用

相关命令:

getenforce: 获取selinux当前状态

sestatus :查看selinux状态

setenforce 0|1    0设置为 permissive   1设置为 enforcing

[root@localhost html]#getenforce 
Enforcing
 
 
如果没有开启可以使用以下命令开启
[root@localhost html]#setenforce 1
 
 
永久开启需要修改  此处文件  /etc/selinux/config
vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
yum install setools-console.x86_64 -y

若修改文本类型

 

为什么要做动、静分离?

在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。

 
因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗?当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决动、静分离将网站静态资源(HTML,JavaScript,CSS,img 等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问

这里我们将静态资源放到 Nginx 中,动态资源转发到 Tomcat 服务器中去。

当然,因为现在七牛、阿里云等 CDN 服务已经很成熟,主流的做法,是把静态资源缓存到 CDN

服务中,从而提升访问速度。

 相比本地的 Nginx 来说,CDN 服务器由于在国内有更多的节点,可以实现用户的就近访问。并

且,CDN 服务可以提供更大的带宽,不像我们自己的应用服务,提供的带宽是有限的。

Nginx 负载均衡的算法怎么实现的? 策略有哪些?

 

为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

2. 权重 weight

weight 的值越大,分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

# 权重越高,在被访问的概率越大,如上例,分别是20%,80%。
upstream backserver {
 server 192.168.0.12 weight=2;
 server 192.168.0.13 weight=8;
}

ip_hash(IP 绑定)

每个请求按访问 IP 的哈希结果分配,使来自同一个 IP 的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的 session 共享问题

upstream backserver {
 ip_hash;
 server 192.168.0.12:88;
 server 192.168.0.13:80;
}

fair(第三方插件)

必须安装 upstream_fair 模块。

对比 weight、ip_hash 更加智能的负载均衡算法,fair 算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。

# 哪个服务器的响应速度快,就将请求分配到那个服务器上。
upstream backserver {
 server server1;
 server server2;
 fair;
}
url_hash(第三方插件)

必须安装 Nginx 的 hash 软件包

按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。

upstream backserver {
 server squid1:3128;
 server squid2:3128;
 hash $request_uri;
 hash_method crc32;
}

location 的作用是什么?

location 指令的作用是根据用户请求的 URI 来执行不同的应用,也就是根据用户请求的网站 URL 进行匹配,匹配成功即进行相关的操作。

location 的语法能说出来吗?

使用特定命令清空文件

① 使用 truncate 命令

truncate 命令用于缩短或扩展文件大小。在清空文件内容的情况下,我们可以使用 -s 选项指定新的大小为0。

优点:

truncate 操作非常快速,特别适用于大文件。

保留文件的元数据,包括文件名、权限等。

限制:

不适用于需要精确控制文件内容清空的场景,因为它只能清空到文件的开头。

不能清空只读文件,除非使用超级用户权限。

② 使用dd命令

dd 命令是一个强大的工具,用于复制和转换文件。在清空文件内容的情况下,我们可以使用 if=/dev/null 来将文件内容复制为空。

dd if=/dev/null of=filename

优点:

  • dd 提供了更多的灵活性,可以通过修改参数来满足不同需求。

  • 保留文件的元数据,类似于 truncate

限制:

  • 相较于 truncatedd 的使用语法相对较复杂,需要确保正确的参数设置。

  • 在处理大文件时可能效率略低于 truncate

 使用重定向符号清空文件

① 使用 > 符号

> 是一种重定向符号,它可以将输出重定向到文件。在清空文件的情况下,可以使用 > 将空内容写入文件。

> filename
优点:

使用 > 符号是一种非常简单和直观的方法,适用于快速清空文件。

不需要记忆复杂的命令选项,适合初学者。

限制:

不如 truncate 和 dd 灵活,只能清空文件内容,不能处理其他复杂的情况。

无法指定清空文件的起始位置,总是从文件开头清空。
 

使用定时任务清空文件

可以使用 cron 定时任务来定期清空文件。编辑定时任务配置文件:

crontab -e
 
 
#添加一行,表示每天凌晨1点清空文件:
0 1 * * * echo -n > /path/to/example.txt

安全注意事项

在清空文件时,需要注意一些安全性问题,以确保不会误操作或导致数据丢失。以下是一些建议:

1 备份文件内容
在执行清空操作之前,建议先备份文件内容。这可以通过复制文件到另一个位置或使用压缩工具创建文件备份来实现。

cp example.txt example_backup.txt

2 权限管理

确保执行清空操作的用户具有足够的权限。在某些情况下,可能需要使用超级用户权限,但请谨慎使用。

sudo truncate -s 0 example.txt

3. 注意文件属性

清空文件时,文件的元数据(如权限、所有者等)通常是不变的,但仍然需要注意文件属性。确保清空操作不会导致文件属性的变化,特别是对于特殊权限的文件。

4 考虑文件系统类型

不同的文件系统可能对文件操作有不同的限制和要求。在清空文件之前,了解文件系统的特性是很重要的。

5. 谨慎使用自动化脚本和定时任务
在使用自动化脚本和定时任务时,确保脚本和任务的逻辑正确,以防止意外的清空操作。在生产环境中,最好先在测试环境进行验证。

6. 文件锁定和并发访问
如果有其他进程在使用文件,清空文件可能导致并发问题。在清空文件之前,考虑文件锁定或确保没有其他进程正在写入文件。

7. 日志记录
在执行清空操作时,建议记录日志以便追踪操作的情况。这有助于排查问题和监控文件清空的历史记录。

总结
本文详细介绍了在Linux系统中快速清空文件而不删除它们的多种方法。通过命令行工具如 truncate 和 dd,重定向符号,以及文本编辑器 vim 和 nano 的使用,以及通过脚本自动化和定时任务的方式,我们可以根据不同的需求选择合适的方法。在执行文件清空操作时,请始终注意安全性问题,并根据实际情况采取相应的预防措施

 

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

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

相关文章

操作系统原理与实验——实验四短进程优先调度

实验指南 运行环境: Dev c 算法思想: 短进程优先 (SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成 核心数据结构: typedef struct data{ int hour; int…

kafka消费端消息去重方案

背景 我们在日常工作中,消费kafka消息是一个最常见的操作,不过由于kafka队列中经常包含重复的消息,并且消息量巨大,所以我们消费端总是需要先把消息进行去重后在消费,以减少消费端的压力,那么日常中我们一…

Java面试(1)之 JVM篇

内存模型及原理 1, JVM内存模型 2, 类加载器及双亲委派模型 2.1 类加载器的作用? 将Java文件解析成Class文件对象,即 通过一个类的全限定名来得到其二进制字节流.(不同类加载器加载的对象一定不同) 2.2 什么是双亲委派模型? 如果一个类接收到类加载的请求不会自己去加载,…

微服务系列(一)springcloudAlibaba之Nacos注册和配置中心及openFeign远程调用

一,认识微服务 我们先看看开发大型项目采用单体架构存在哪些问题,而微服务架构又是如何解决这些问题的。 1.1 单体架构 单体架构(monolithic structure):整个项目中所有功能模块都在一个工程中开发;项目部署…

MySQL 备份方案

优质博文:IT-BLOG-CN 一、为什么要备份 【1】容灾恢复:硬件故障、不经意的 Bug 导致数据损坏,或者服务器及其数据由于某些原因不可获取或无法使用等(例如:机房大楼烧毁,恶意的黑客攻击或 Mysql 的 Bug 等&…

React_ 三、Router路由配置

文章目录 [TOC](文章目录) Router路由配置安装和封装使用声明式导航Link和编程式导航useNavigate 导航传参useSearchParams 接收传参useParams 接收传参 路由嵌套children和菜单式渲染404路由配置 路由模式history模式,无/#/ 需要后端支持hash模式,有/#/…

开源模型应用落地-工具使用篇-Spring AI(七)

一、前言 在AI大模型百花齐放的时代,很多人都对新兴技术充满了热情,都想尝试一下。但是,实际上要入门AI技术的门槛非常高。除了需要高端设备,还需要面临复杂的部署和安装过程,这让很多人望而却步。不过,随着…

删除的文件能恢复吗?分享3个恢复方法

我们经常会遇到文件夹里的文件不小心被删除的情况,面对这种情况很多人会感到焦虑和无助。但实际上文件恢复并不是一件难事。在本文中我将分享一些实用的文件恢复方法,并深入探讨各种方法的优缺点,帮助大家更好地应对文件误删的问题。 首先让我…

集简云新增通义千问qwen 72b chat、qwen1.5 等多种大语言模型,提升多语言支持能力

通义千问再开源!继发布多模态模型后,通义千问 1.5 版本也在春节前上线。 此次大模型包括六个型号:0.5B、1.8B、4B、7B、14B 和 72B,性能评测基础能力在在语言理解、代码生成、推理能力等多项基准测试中均展现出优异的性能&#x…

Jupyter如何开启Debug调试功能

由于需要对算子做远程调试功能,需要在jupyter中开启远程断点调试功能,特此记录。 本文写作时用到的系统是Ubuntu22,Python的版本是3.8. 首先,创建虚拟环境。 python -m venv venv source venv/bin/activate接着,安装…

hardlock.sys蓝屏解决办法【windows】

微软系统有时会蓝屏无法开机, 需要记下导致蓝屏的文件。 这里是【hardlock.sys】文件导致的。 解决办法是找到这个文件,把文件改名字,让系统找不到这个文件。 可以参考路径:C盘》C:\Windows\System32\drivers\hardlock.sys 把…

回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现BiTCN-BiGRU-Attention双向时间卷积双向门控循环单元融合注意力机制多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.M…

金鸣识别(OCR)与人眼识别哪个更准?

关于OCR(Optical Character Recognition,光学字符识别)金鸣识别与人眼识别率的对比,确实是一个引人入胜的话题。首先,我们要明确一点,虽然OCR技术在过去几十年里取得了巨大的进步,但要达到与人类…

QCustomPlot / C++ 追踪点、标签绘制开发

一、项目介绍: QCustomPlot曲线相关 1、曲线(折线)的后面有一个标签;点击标签可移动垂直方向移动曲线 2、曲线下方有纯文本标签 3、曲线设置多个追踪点 4、追踪点可跟随鼠标沿着曲线移动 5、多条曲线移动不卡顿 二、项目展示…

[IDE工具]Ubuntu18.04 VSCode版本升级

一、下载新版本 https://code.visualstudio.com/Download 二、安装deb sudo dpkg -i code_1.87.0-1709078641_amd64.deb 升级完成! 三、问题解决 1. 依赖于 libc6 (> 2.28);然而:系统中 libc6:amd64 的版本为 2.27-3ubuntu1.6 1.1…

代码学习记录13

随想录日记part13 t i m e : time: time: 2024.03.06 主要内容:今天的主要内容是二叉树的第二部分哦,主要有层序遍历;翻转二叉树;对称二叉树。 102.二叉树的层序遍历226.翻转二叉树101. 对称二叉…

什么是ElasticSearch的深度分页问题?如何解决?

在ElasticSearch中进行分页查询通常使用from和size参数。当我们对ElasticSearch发起一个带有分页参数的查询(如使用from和size参数)时,ElasticSearch需要遍历所以匹配的文档直到达到指定的起始点(from),然后返回从这一点开始的size个文档 在这个例子中: 1.from 参数定义…

华为配置智能升级功能升级设备示例

配置智能升级功能升级设备示例 组网图形 图1 配置智能升级功能组网图 背景信息组网需求配置思路前提条件操作步骤操作结果 背景信息 为了方便用户及时了解设备主流运行版本,快速完成升级修复,华为设备支持自动下载、自助升级功能。用户在设备Web网管…

MySQl基础入门③

上一遍内容 接下来我们都使用navicat软件来操作数据了。 1.新建数据库 先创建我门自己的一个数据库 鼠标右键点击bendi那个绿色海豚的图标,然后选择新建数据库。 数据库名按自己喜好的填,不要写中文, 在 MySQL 8.0 中,最优的字…

Text-to-SQL任务中的思维链(Chain-of-thought)探索

导语 在探索LLM在解决Text-to-SQL任务中的潜能时,本文提出了一种创新的‘问题分解’Prompt格式,结合每个子问题的表列信息,实现了与顶尖微调模型(RASATPICARD)相媲美的性能。 会议:EMNLP 2023链接&#x…