CentOS7初始化设置

#!/bin/bash

#Author WuZixiao

#初始化配置Linux系统

#注意:是ens33还是ens32

#2022年12月28日17:00:00

##################################################################

#定义变量

read -p "请输入主机名:" name

read -p "请输入ip地址:" ip

read -p "请输入网关地址:" ip1

selinux_dir="/etc/selinux/config"

set_log="/root/initialOS.log"

fstab="/etc/fstab"

motd="/etc/motd"

ens32="/etc/sysconfig/network-scripts/ifcfg-ens32"

host="/etc/hosts"

repo="/etc/yum.repos.d"

packages="lrzsz net-tools gcc gcc-c++ iostat vim tree wget nmap lsof htop iftop iotop sysstat psmisc curl lynx gzip bzip2 ntp xinetd"

epel="epel-release"

messages=("永久关闭firewalld" "永久关闭selinux" "永久关闭iptables" "设置主机名" "设置IP地址" "设置提示语" "设置静态解析" "设置镜像自动挂载" "配置阿里源和本地yum源" "安装必备软件工具" "设置时间同步" "设置行号自显")

##################################################################

#定义函数

delimiter(){

echo -e "\033[32;1m※※※※※※※※※※※※※※※※※※※※※※※※※※\033[0m"

}

echoinfo(){

echo -e "\033[35;1m#$1\033[0m"

}

firewalld_off(){#关闭firewalld

delimiter | tee -a $set_log

echoinfo ${messages[0]} | tee -a $set_log

systemctl stop firewalld &>> $set_log

systemctl disable firewalld &>> $set_log

sleep 2

num1="$(systemctl status firewalld | expr length "`awk '/Active/{print $2}'`")"

if [ $num1 -eq 8 ];then

echo -e "\033[44;37;1m firewalld已经永久关闭!!!\033[0m" | tee -a $set_log

else

echo -e "\033[43;37;1m firewalld关闭失败!!!\033[0m" | tee -a $set_log

fi

}

selinux_off(){#关闭selinux

delimiter | tee -a $set_log

echoinfo ${messages[1]} | tee -a $set_log

sed -i '/SELINUX=enforcing/c \SELINUX=disabled' $selinux_dir &>> $set_log

sleep 2

#num2="$(cat /etc/selinux/config | expr length substr "`sed -n '7p'`" 9 8)"

num2="$(expr length "`getenforce`")"

if [ $num2 -eq 8 ];then

echo -e "\033[44;37;1m selinux已经永久关闭!!!\033[0m" | tee -a $set_log

else

echo -e "\033[43;37;1m selinux关闭失败!!!\033[0m" | tee -a $set_log

fi

}

iptable_off(){#关闭iptables

delimiter | tee -a $set_log

echoinfo ${messages[2]} | tee -a $set_log

yum install -y iptables-services &>> $set_log

systemctl daemon-reload &>> $set_log

systemctl stop iptables.service &>> $set_log

systemctl disable iptables.service &>> $set_log

#若要重新启动,需yum安装iptables-services使用systemctl unmask/restart iptables启动即可

sleep 2

num3="$(systemctl status iptables.service | expr length "`awk '/Active/{print $2}'`")"

#num3="$(systemctl status iptables | grep Active | expr length "`cut -d " " -f 5`")"

if [ $num3 -eq 8 ];then

echo -e "\033[44;37;1m iptables已经永久关闭!!!\033[0m" | tee -a $set_log

else

echo -e "\033[43;37;1m iptables关闭失败!!!\033[0m" | tee -a $set_log

fi

}

sethostname(){#设置主机名

delimiter | tee -a $set_log

echoinfo ${messages[3]} | tee -a $set_log

hostnamectl set-hostname $name &>> $set_log

sleep 2

echo -e "\033[44;37;1m 当前主机名为:$(hostname) \033[0m" | tee -a $set_log

}

setip(){#设置IP地址

delimiter | tee -a $set_log

echoinfo ${messages[4]} | tee -a $set_log

echo "TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

UUID="$(nmcli conn | awk '/ens32/{print $3}')"

DEVICE="ens32"

ONBOOT="yes"

IPADDR="$ip"

PREFIX="24"

GATEWAY="$ip1"

DNS1="114.114.114.114"

DNS2="8.8.8.8"

IPV6_PRIVACY="no"" &> $ens32 | tee -a $set_log

#systemctl restart network &>> $set_log

sleep 2

#ip2="$(ip a | awk '/scope global/{print $2}' | cut -d "/" -f 1 | sed -n "1p")"

ip2="$(cat /etc/sysconfig/network-scripts/ifcfg-ens32 | awk -F "=" '/IPADDR/{print $2}')"

echo -e "\033[44;37;1m 当前主机IP地址为:$ip2 \033[0m" | tee -a $set_log

}

setmotd(){#设置提示语

delimiter | tee -a $set_log

echoinfo ${messages[5]} | tee -a $set_log

echo "本人声明,如果您以非法方式登录本服务器,您将承担法律责任!!!

I declare that if you log on this server by illegal means, you will be held legally responsible!!!

Warning!!! This is the $name server with an IP address of $ip !!!" &> $motd | tee -a $set_log

sleep 2

}

sethosts(){#设置静态解析

delimiter | tee -a $set_log

echoinfo ${messages[6]} | tee -a $set_log

echo "$ip$name" &>> $host | tee -a $set_log

}

setiso(){#设置镜像自动挂载

delimiter | tee -a $set_log

echoinfo ${messages[7]} | tee -a $set_log

mkdir /mnt/cdrom &>> $set_log

echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" &>> $fstab | tee -a $set_log

umount -a &>> $set_log

sleep 3

mount -a &>> $set_log

sleep 5

num6="$(df -h | awk '/sr0/{printf "%.f\n",$5}')"

if [ $num6 -eq 100 ];then

echo -e "\033[44;37;1m 本地镜像挂载成功!!!\033[0m" | tee -a $set_log

elif [ -z "$num6" ];then

umount -a &>> $set_log

sleep 3

mount -a &>> $set_log

sleep 5

num7="$(df -h | awk '/sr0/{printf "%.f\n",$5}')"

if [ $num7 -eq 100 ];then

echo -e "\033[44;37;1m 本地镜像挂载成功!!!\033[0m" | tee -a $set_log

else

echo -e "\033[43;37;1m WARNING!!! WARNING!!! WARNING!!! \033[0m" | tee -a $set_log

fi

fi

}

setrepo(){#配置阿里源和本地yum源

delimiter | tee -a $set_log

echoinfo ${messages[8]} | tee -a $set_log

mv -f $repo/* /opt/ &>> $set_log

echo "[centos7]

name=centos_7.9

baseurl=file:///mnt/cdrom

enabled=1

gpgcheck=0" &> $repo/local.repo | tee -a $set_log

wget -O $repo/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>> $set_log

yum clean all &>> $set_log

yum repolist &>> $set_log

sleep 2

num4="$(ls /etc/yum.repos.d/ | wc -l)"

if [ $num4 -eq 2 ];then

echo -e "\033[44;37;1m 阿里源和本地yum源已配置成功!!! \033[0m" | tee -a $set_log

ls $repo/ | tee -a $set_log

else

echo -e "\033[43;37;1m 阿里源和本地yum源配置失败!!! \033[0m" | tee -a $set_log

ls $repo/ | tee -a $set_log

fi

}

installs(){#安装必备软件工具

delimiter | tee -a $set_log

echoinfo ${messages[9]} | tee -a $set_log

yum clean all &>> $set_log

yum makecache &>> $set_log

sleep 2

yum install -y $packages &>> $set_log

echo -e "\033[44;37;1m 必备工具软件已安装完成,可以正常使用系统!!! \033[0m" | tee -a $set_log

}

setdate(){#设置时间同步

delimiter | tee -a $set_log

echoinfo ${messages[10]} | tee -a $set_log

ntpdate ntp1.aliyun.com &>> $set_log

sleep 2

echo -e "\033[44;37;1m $(date) \033[0m" | tee -a $set_log

}

setnu(){#设置行号自显

delimiter | tee -a $set_log

echoinfo ${messages[11]} | tee -a $set_log

sed -i '$aset nu' /etc/virc

sed -i '$aset nu' /etc/vimrc

sleep 2

echo -e "\033[44;37;1m 设置行号自显成功!!! \033[0m" | tee -a $set_log

}

##################################################################

echo "################BEGIN!!!$(date)################" | tee -a $set_log

firewalld_off

wait

selinux_off

wait

iptable_off

wait

sethostname

wait

setip

wait

setmotd

wait

sethosts

wait

setiso

wait

setrepo

wait

installs

wait

setdate

wait

setnu

wait

echo "################END!!!$(date)################" | tee -a $set_log

##################################################################

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值