Shell 虚拟机基线配置脚本示例

news2024/11/18 16:56:07

这是一个配置虚拟机基线的示例,包含关闭防火墙、禁用SElinux、设置时区、安装基础软件等。

这只是一个简单的模板,基线配置方面有很多,后续可以按照这个模板去逐步添加

代码示例

[root@bogon ~]# cat bastic.sh 
#!/bin/bash

RED='\E[1;31m'
GREEN='\E[1;32m'
RES='\E[0m'


# 显示菜单选项
echo "请选择一个选项:"
echo "1. 关闭防火墙,禁止开机自启动"
echo "2. 关闭SElinux"
echo "3. 设置时区"
echo "4. 设置最大文件打开数量为65535"
echo "5. 安装基础软件包:[tcpdump,net-tools,wget,telnet,nmap-ncat,rsync,lrzsz]"
echo "6. 执行全部选项"
echo "7. 退出"

function stop_firewalld {
    	systemctl stop firewalld
    	systemctl disable firewalld
    	if [ $? -eq 0 ]; then
        	echo -e "${GREEN} [+] 已关闭防火墙,禁止开机自启 ${RES}"
    	else
        	echo -e "${RED} [-] 关闭防火墙失败 ${RES}"
    	fi
}

function selinux_set {
    	sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    	if [ $? -eq 0 ]; then
        	echo -e "${GREEN} [+] SElinux 已关闭 ${RES}"
    	else
        	echo -e "${RED} [-] 关闭SElinux失败 ${RES}"
    	fi
}

function datetime_set {
	    timedatectl set-timezone Asia/Shanghai
    	if [ $? -eq 0 ]; then
        	echo -e "${GREEN} [+] 已设置时区为上海时区 ${RES}"
    	else
        	echo -e "${RED} [-] 设置时区失败 ${RES}"
    	fi
}

function fileopen_set {
	    echo "* soft nofile 65535" >> /etc/security/limits.conf
	    echo "* hard nofile 65535" >> /etc/security/limits.conf
	    sysctl -p
	    if [ $? -eq 0 ]; then
        	echo -e "${GREEN} [+] 已设置文件最大打开数量为65535  ${RES}"
    	else
        	echo -e "${RED} [-] 设置文件打开数量失败 ${RES}"
    	fi
}

function package_install {
	    if [[ $EUID -ne 0 ]]; then
   		    echo -e "${RED} [-] 请使用root用户执行该脚本 ${RES}" 
   		    exit 1
	    fi
	    packages=(tcpdump
		          net-tools
		          wget
		          telnet
		          nmap-ncat
		          rsync
		          lrzsz
		        )
	        echo "------开始安装基础软件包------"
	        for package in "${packages[@]}";do
		        echo -e "------正在检查软件包:$package 是否安装------"
		        if rpm -q "$package" >> /dev/null 2>&1;then
			        echo "软件包 $package 已经安装,跳过..."
		        else
			        echo "------正在安装软件包------"
			        yum -y install "$package"
			        if [ $? -eq 0 ]; then
                		echo -e "${GREEN} [+] 基础依赖包 $package 安装成功 ${RES}"
        		    else
                		echo -e "${RED} [-] 基础依赖包安装失败 ${RES}"
        		    fi
		        fi
	        done
}


read choice

case $choice in
    1)
        stop_firewalld
        ;;
    2)
        selinux_set
        ;;
    3)
        datetime_set
        ;;
    4)
        fileopen_set
        ;;
    5)
	    package_install
	    ;;
    6)
        stop_firewalld
        selinux_set
        datetime_set
        fileopen_set
        package_install
        ;;
    7)
        exit
        ;;
    *)
        echo "无效选项"
        ;;
esac

结果

输入6,就是执行全部选项

当然也能单独执行,例如输入5,就提示软件包已安装,跳过。。。

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

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

相关文章

微信万能表单源码系统:自定义表单内容+自由创建多表单 附带完整的代码包以及安装部署教程

在当今信息化社会,在线表单已经成为收集、处理数据的重要工具。无论是企业还是个人,都需要通过表单来进行信息的收集、调查、报名等操作。然而,传统的表单系统往往功能单一,无法满足复杂多变的需求。为了解决这一问题,…

Hadoop3完全分布式搭建

一、第一台的操作搭建 修改主机名 使用hostnamectl set-hostname 修改当前主机名 关闭防火墙和SELlinux 1,使用 systemctl stop firewalld systemctl disable firewalld 关闭防火墙 2,使用 vim /etc/selinux/config 修改为 SELINUXdisabled 使用N…

【操作系统】实验五 添加内核模块

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

《Linux设备驱动开发详解》读书笔记

《Linux设备驱动开发详解》读书笔记 本书主要介绍linux设备驱动开发的方法,共有21章: linux设备驱动概述及开发环境搭建驱动设计的硬件基础linux内核及内核编程linux内核模块linux文件系统与设备文件字符设备驱动linux设备驱动中的并发控制linux设备驱…

Stable Diffusion学习

参考 Stable Diffusion原理详解_stable diffusion csdn-CSDN博客 Stable Diffusion是stability.ai开源的图像生成模型,可以说Stable Diffusion的发布将AI图像生成提高到了全新高度,其效果和影响不亚于Open AI发布ChatGPT。 图像生成的发展 在Stable D…

代码随想录算法训练营第41天|343. 整数拆分、96.不同的二叉搜索树

文章目录 343. 整数拆分思路代码 96.不同的二叉搜索树思路代码 343. 整数拆分 题目链接:343. 整数拆分 文章讲解:代码随想录|343. 整数拆分 视频讲解:整数拆分 思路 1.dp[i]:整数i拆分成k个数的最大乘积 2.dp[i] max(dp[i], max((i - j) *…

DAY08_SpringBoot—整合Mybatis-Plus

目录 1 MybatisPlus1.1 MP介绍1.2 MP的特点1.3 MybatisPlus入门案例1.3.1 导入jar包1.3.2 编辑POJO对象1.3.3 编辑Mapper接口1.3.4 编译YML配置文件1.3.5 编辑测试案例 1.4 MP核心原理1.4.1 需求1.4.2 原理说明1.4.3 对象转化Sql原理 1.5 MP常规操作1.5.1 添加日志打印1.5.2 测…

unity刷新grid,列表

获取UIGrid 组件,更新列表 listParent.GetComponent().repositionNow true;

书生·浦语大模型--第四节课笔记--XTuner大模型单卡低成本微调

文章目录 Finetune简介指令跟随微调增量预训练微调LoRA QLoRA XTuner介绍快速上手 8GB显卡玩转LLM动手实战环节 Finetune简介 增量预训练和指令跟随 通过指令微调获得instructed LLM 指令跟随微调 一问一答的方式进行 对话模板 计算损失 增量预训练微调 不需要问题只…

C++高精度问题

高精度前言 C中int不能超过2^31-1,最长的long long也不能超过2^63-1,所以我们在题目中如果碰到了很长很长的数,并且需要进行大数运算时,就需要高精度存储。 高精度总体思路 由于int和long long的限制,我们要想存放很长的数就需…

国标GB28181协议EasyCVR启动失败报错“Local Machine Check Error”的解决方法

国标GB28181安防监控系统EasyCVR平台采用了开放式的网络结构,可支持4G、5G、WiFi、有线等方式进行视频的接入与传输、处理和分发。安防视频监控平台EasyCVR还能支持GIS电子地图模式,基于监控摄像头的经纬度地理位置信息,将场景中的整体安防布…

感性负载对电路稳定性有什么影响?

感性负载是指带有电感元件的负载,如电动机、变压器等。在电路中,感性负载对电路稳定性有很大的影响。本文将从以下几个方面来分析感性负载对电路稳定性的影响: 当感性负载接通或断开时,会产生一个瞬时电流,这个瞬时电流…

大数据开发之Spark(RDD弹性分布式数据集)

第 1 章:rdd概述 1.1 什么是rdd rdd(resilient distributed dataset)叫做弹性分布式数据集,是spark中最基本的数据抽象。 代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。 1.1…

安装vcenter7.0问题汇总

1.Windows server 2016安装vcenter7.0出现:无法获取目标服务器证书的 SSL 指纹。 第一个检查点: 防火墙:关闭或者开放443端口 第二个检查点: 检查自己的虚拟网卡是否开启 第三个检查点: 我标记的第一个大框中我这…

Zabbix分布式监控系统

实验过程 ps: 阿里云盘Xnode1获取 xnode1 https://www.alipan.com/s/HgLXfoeBWG2 提取码: eb70 1、xnode1克隆两台虚拟机并修改ip zabbix-server192.168.224.3 zabbix-agent192.168.224.4 2、修改主机名 [rootlocalhost ~]# hostnamectl set-hostname zabbix-se…

Vue3 ref与reactive

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

php比较运算,强相等(===)弱相等(==)表

弱相等() 符号为: 规则为:只比较值,不比较类型,只要值对就为true 样例:比较整型123和字符串"123",运行结果给出了true 弱相等表:* 代表在 PHP 8.0.0 之前为…

【网站项目】新冠疫情隔离人员信息管理系统(有源码)

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板,帮助书写开题报告。作者完整代码目录供你选择: 《Springboot网站项目…

S7-1500与多台200SMART之间无线以太网通讯搭建方法

这是一个不用编程即可瞬间实现S7-200smart与S7-1500的以太网通讯的方法,这种控制方式下最多可以控制128台S7-200SMART。本方案以组态王与S7-1500和2台S7-200smart为例,介绍S7-1500与多台 S7-200smart在Profinet协议下的自组网无线通信实现过程。在本方案…

大数据平台红蓝对抗 - 磨利刃,淬精兵!

背景 目前大促备战常见备战工作:专项压测(全链路压测、内部压测)、灾备演练、降级演练、限流、巡检(监控、应用健康度)、混沌演练(红蓝对抗),如下图所示。随着平台业务越来越复杂&a…