安全增强型 Linux

2024-03-07 05:12
文章标签 linux 安全 增强型

本文主要是介绍安全增强型 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 的使用,以及通过脚本自动化和定时任务的方式,我们可以根据不同的需求选择合适的方法。在执行文件清空操作时,请始终注意安全性问题,并根据实际情况采取相应的预防措施

 

这篇关于安全增强型 Linux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782468

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置