centos7 系统初始化脚本怎么写

发布时间:2021-09-28 15:11:22 作者:柒染
来源:亿速云 阅读:211

这篇文章将为大家详细讲解有关centos7 系统初始化脚本怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

#!/bin/bash
while :
do
cat <<-EOF
+-------------------------------------------------------------------------+
|                       System_tools V1.0                                 |
+-------------------------------------------------------------------------+
|               a. Stop And Disabled Firewalld.                           |
|               b. 修改主机名.                                            |
|               c. 检查网络连通性.                                        |
|               d. 统一网卡名为eth.                                       |
|               e. 修改ssh配置文件。                                      |
|       f. 配置yum源仓库。                                        |
|       g. 创建普通用户并提权。                                   |
|               h. 300秒不操作自动注销root账户。                          |
|       i. 时间同步。                                             |
|       q. 退出。                                                 |
+-------------------------------------------------------------------------+
EOF
network_dir="/etc/sysconfig/network-scripts/"
sshd_dir="/etc/ssh/"
network_name=ip a | grep '^2:' |awk -F "[ :]" '{print $3}'
stop_firewalld()
{
echo "-----------Stop And Disabled Firewalld and selinux---------"
systemctl stop firewalld
systemctl disable firewalld &> /dev/null
setenforce 0
sed -i "/^\bSELINUX\b/c SELINUX=disabled" /etc/selinux/config
if [ $? -eq 0 ]
then
echo "firewalld and selinux stop successed"
else
echo "firewalld and selinux stop failed"
exit
fi
}

username()
{
read -p "请输入你要修改的主机名" user
hostnamectl set-hostname $user  
echo "你修改的主机名为 $user"
}

network_tools()
{
ping -c1 www.baidu.com &> /dev/null
if [ $? -eq 0 ]
then
echo "你的网络状况良好"
else
echo "你的网络不好使,需要重新配置"
read -p "请输入你的网卡名称" name
read -p "请输入你的IP地址:" ip1
ip2=echo $ip1 |awk -F"." 'BEGIN{FS="."; OFS="."}{print $1,$2,$3}'
cat > ${network-dir}ifcfg-${name} << EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=$name
DEVICE=$name
ONBOOT=yes
IPADDR=$ip1
GATEWAY=$ip2
EOF
ping c1 www.baidu.com &> /dev/null
if [ $? -eq 0 ]
then
echo "网络已恢复"
else
echo "没救了"
fi
fi
}

eth()
{
echo "---------正在配置请稍等----------"
mv ${network_dir}ifcfg-${network_name} ${network_dir}ifcfg-eth0
sed -i '/^NAME/c NAME=eth0' ${network_dir}ifcfg-eth0
sed -i '/^DEVICE/c DEVICE=eth0' ${network_dir}ifcfg-eth0
echo 'GRUB_CMDLINE_LINUX="...... net.ifnames=0"' >> /etc/sysconfig/grub
grub2-mkconfig -o /boot/grub2/grub.cfg &> /dev/null
echo "请重启使网卡名生效"
}
ssh_tools()
{
sed -i '/\bPort\b/c Port=22' ${sshd_dir}sshd_config  
while :
do
read -p "确定禁止root用户远程登录 y/n" login
case $login in
y)
sed -i '/#PermitRootLogin/c PermitRootLogin = NO' ${sshd_dir}sshd_config
;;
n)
exit
;;
)
echo "请按照提示输入内容!!!"
;;      
esac
done
}
yum_install()
{
echo "--------正在部署yum源仓库请喝口水耐心等待---------"
rm -rf /etc/yum.repos.d/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null
yum -y install wget &> /dev/null
if [ $? -eq 0 ]
then
echo "快要成功了"
else
echo "网络错误,请检查网络"
exit
fi
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &> /dev/null
echo "---------正在清空缓存,请耐心等待!----------"
yum clean all &> /dev/null
echo "-----------正在重新加载,请耐心等待!-----------"
yum makecache &> /dev/null
echo "------------yum 配置 successed------------"
}
user(){
read -p "请输入你要创建的用户名:" n
read -p "请输入用户名的密码" mima
useradd $n && echo "$mima" |passwd --stdin $n &> /dev/null
usermod -aG wheel $n
if [ $? -eq 0 ]
then
echo "用户创建并提权成功"
else
echo "用户创建失败"
exit
fi

}

root_power_off(){
sed -i '/HISTSIZE=/a\TMOUT=300' /etc/profile && echo "-----successful------"
#300s不操作自动注销root账户
}

time_ntp(){
#将/usr/share/zoneinfo/Asia/Shanghai  拷贝到 /etc/localtime
#说有违禁词不让我写拷贝这个命令
#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum -y install ntpdate &>/dev/null
ntpdate 10.180.4.204
echo "时间同步成功"

}

read -p "请输入你要选择的参数:" a
case $a in
a)
stop_firewalld
;;
b)
username
;;
c)
network_tools
;;
d)
eth
;;
e)  
ssh_tools
;;
f)
yum_install
;;
g)
user
;;
h)
root_power_off
;;
i)
time_ntp
;;
q)
exit
;;
*)
echo "请按照上方提示输入!!!"
;;

esac
done

关于centos7 系统初始化脚本怎么写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Centos7系统怎么启动?
  2. Centos7 keepalived +nginx

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos7

上一篇:CentOS作为DHCP分配IP地址以及DHCP中继链路是怎样的

下一篇:如何实现并分析Shell脚本apache日志中ip所在的地区

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》