#!/bin/bash
#
#********************************************************************
#encoding -*-utf8-*-
#Author:
#Date: 2018-12-19
#URL:
#Description: The test script
#Copyright (C): 2018 All rights reserved
#QQ Numbers:
#********************************************************************
read -p "請輸入IP地址:" IP
read -p "請輸入GATEWAY地址:" GATEWAY
read -p "請輸入主機名:" HOST_NAME
read -p "是否創(chuàng)建ywuser用戶:(Yes/No)" ADD_YWUSER
#查看系統(tǒng)版本
Get_host_version=`cat /etc/centos-release | grep -i centos | grep -o "\<[[:digit:]]\+" |head -1`
#查看內核版本
kernel_version=`uname -r`
#設置開機啟動文件的權限
chmod +x /etc/rc.d/rc.local
#zabbix-server IP地址
ZABBIX_SERVER=10.180.4.230
#修改主機名HOST_NAME
function Set_HOST_NAME(){
if [ "$Get_host_version" == 7 ]
then
hostnamectl set-hostname $HOST_NAME &>/dev/null
echo "$IP $HOST_NAME" >/etc/hosts
elif [ "$Get_host_version" == 6 ]
then
hostname $HOST_NAME &>/dev/null
chkconfig iptables off &>/dev/null
echo "$IP $HOST_NAME" >/etc/hosts
sed -ri "s@^(HOSTNAME=).*$@\1\$HOST_NAME@g" /etc/sysconfig/network
else
Error_system_version
return 1
fi
}
#是否創(chuàng)建ywuser用戶,并設置sudo權限奈虾。
function Add_ywuser(){
case $ADD_YWUSER in
[Yy]|[Yy][Ee][Ss])
ADD_YWUSER=Y
;;
[Nn]|[Nn][Oo])
ADD_YWUSER=N
;;
*)
echo other
return 1
;;
esac
if [ "$ADD_YWUSER" == Y ]
then
useradd ywuser
echo 'SDGSxlzf@123' | passwd --stdin "ywuser"
echo 'ywuser ALL=(ALL) ALL' >>/etc/sudoers
echo 'ywuser用戶已創(chuàng)建完成'
else
echo '跳過創(chuàng)建ywuser用戶'
fi
}
#修改提示符顏色信息
function set_Prompt(){
echo 'export PS1="\[\e[1;32m\][\u@\h \w]\\$\[\e[m\]"' >>/root/.bashrc
echo 'export PS1="\[\e[1;32m\][\u@\h \w]\\$\[\e[m\]"' >>/etc/skel/.bashrc
echo 'alias grep="grep --color" ' >>/root/.bashrc
echo 'alias grep="grep --color" ' >>/etc/skel/.bashrc
echo -e "syntax on\nset number" >>/etc/vimrc
echo -e "嚴正聲明愚墓,如果您以非法方式登錄本服務器浪册,您將承擔法律責任4逑蟆T苤痢!\nI declare that if you log on this server by illegal means, you will be held legally responsible!!!" >>/etc/motd
PS1="\[\e[1;32m\][\u@\h \w]\\$\[\e[m\]"
}
#修改history提示增加時間和用戶
function set_History(){
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >>/etc/profile
}
#備份操作的相關目錄
function Bakup_etc(){
Now_of_time=`date +'%F_%H.%M'`
back_path=/bak/initsys/
mkdir -p $back_path
tar -czf $back_path/etc.${Now_of_time}.tar.gz /etc
}
#設置默認啟動時用字符界面
function Set_multi_start(){
#off firewall
if [ "$Get_host_version" == 7 ]
then
systemctl set-default multi-user.target
elif [ "$Get_host_version" == 6 ]
then
sed -i 's/id:5:initdefault:/id:3:initdefault:/g' /etc/inittab
else
sed -i 's/id:5:initdefault:/id:3:initdefault:/g' /etc/inittab
return 1
fi
}
#禁止Ctrl+Alt+Del快捷鍵重新啟動
function Close_ctrl_alt_del(){
#off firewall
if [ "$Get_host_version" == 7 ]
then
rm -f /usr/lib/systemd/system/ctrl-alt-del.target
elif [ "$Get_host_version" == 6 ]
then
sed -i 's/^exec/#exec/g' /etc/init/control-alt-delete.conf
else
sed -i 's/^exec/#exec/g' /etc/init/control-alt-delete.conf
return 1
fi
}
#設置300秒無操作自動注銷ROOT
function Automatic_log-out(){
sed -i '/HISTSIZE=/a\TMOUT=300' /etc/profile
}
#關閉防火墻和selinux
function Off_firewall_and_selinux(){
#off firewall
if [ "$Get_host_version" == 7 ]
then
systemctl stop firewalld &>/dev/null
systemctl disable firewalld &>/dev/null
elif [ "$Get_host_version" == 6 ]
then
service iptables stop &>/dev/null
chkconfig iptables off &>/dev/null
else
Error_system_version
return 1
fi
#off selinux
sed -ri 's/^(SELINUX=).*$/\1disabled/g' /etc/selinux/config
setenforce 0
}
#配置時區(qū)和時間
function Set_timezone_and_time(){
/usr/bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/sbin/ntpdate 10.180.4.204 #設置ntp服務器同步志膀,如果需要取消注釋
hwclock -w #同步系統(tǒng)時間到硬件時間
if [ "$Get_host_version" == '6' ]
then
cat > /etc/sysconfig/clock << EOF
ZONE="Asia/Shanghai"
UTC=false
ARC=false
EOF
elif [ "$Get_host_version" == '7' ]
then
timedatectl set-local-rtc yes
else
Error_system_version
fi
}
#測試外網(wǎng)是否連通
function Test_network(){
ping -c1 www.baidu.com &>/dev/null
if [ $? -eq 0 ]
then
return 0
else
return 1
fi
}
#設置系統(tǒng)最大句柄數(shù)
function Set_handler_Num(){
limit_count=`cat /etc/security/limits.conf | grep "^\*[[:blank:]]\+\(soft\|hard\)[[:blank:]]\+\(nofile\|nproc\)[[:blank:]]\+" | wc -l`
if [ "$limit_count" -eq 0 ]
then
cat >> /etc/security/limits.conf << EOF
* soft nofile 102400
* hard nofile 102400
* soft nproc 40960
* hard nproc 40960
EOF
ulimit -n 102400 #設置文件打開數(shù),并馬上生效溉浙,
else
echo "已經(jīng)添加過limit限制!"
fi
}
#禁用ssh的DNS功能
function Disabled_sshd_dns(){
[ `grep "^#UseDNS \(no\|yes\)" /etc/ssh/sshd_config | wc -l` -eq 0 ] && { echo '已禁用該配置馆蠕,Do nothing!' ; return 1; }
sed -ri 's@#UseDNS (no|yes)@UseDNS no@g' /etc/ssh/sshd_config
if [ "$Get_host_version" == '6' ]
then
service sshd restart
elif [ "$Get_host_version" == '7' ]
then
systemctl restart sshd
else
Error_system_version
fi
}
#配置網(wǎng)卡名稱為eth*
function Modify_network_card_name(){
if [ "$Get_host_version" == '6' ] #修改Centos6 的網(wǎng)卡
then
Count_cart=`cat /etc/udev/rules.d/70-persistent-net.rules | grep 'SUBSYSTEM=="net", ACTION=="add"' | wc -l`
[ "$Count_cart" -eq 0 ] && { echo "沒有網(wǎng)卡信息播赁,請檢查網(wǎng)卡驅動行拢!" ; return 1; }
count=1
All_mac=`cat 70-persistent-net.rules | grep 'SUBSYSTEM=="net", ACTION=="add"' |grep -o "\([0-9a-fA-F]\{2\}:\)\{5\}[0-9a-fA-F]\{2\}"`
for i in `$ALL_mac`
do
sed -ri 's@('$i'.*NAME=").*[[:digit:]]+"$@\1eth'$count'$"@' /etc/udev/rules.d/70-persistent-net.rules
let count+=1
done
echo '修改網(wǎng)卡名成功,請查看配置!'
echo "`cat /etc/udev/rules.d/70-persistent-net.rules | grep 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="'`"
elif [ "$Get_host_version" == '7' ] #修改Centos7 的網(wǎng)卡
then
boot_grub=/boot/grub2/grub.cfg
grub_default_cfg=/etc/default/grub
Name_count=`cat $boot_grub 2>/dev/null | grep "quiet[[:blank:]]\+net.ifnames" | wc -l`
cp $grub_default_cfg ${grub_default_cfg}.`date +'%F_%H.%M'`
[ $? -ne 0 ] && { echo "沒有 $grub_default_cfg 這個文件" ; return 1; }
if [ "$Name_count" -eq 0 ]
then
sed -ri 's/(GRUB_CMDLINE_LINUX=.*quiet)/\1 net.ifnames=0/g' $grub_default_cfg
grub2-mkconfig -o $boot_grub
if [ $? -eq 0 ]
then
echo '生成新的配置文件,生效需重啟沼瘫!'
else
echo "grub文件生成錯誤咙俩! $boot_grub 可能會產(chǎn)生錯誤阿趁!請檢查"
fi
else
echo '已經(jīng)修改過grub參數(shù),無需再次修改皂股!Do nothing呜呐!'
fi
else
Error_system_version
fi
}
function Set_ip_gateway() {
NETWORK=/etc/sysconfig/network-scripts
mv $NETWORK/ifcfg-ens160 $NETWORK/ifcfg-eth0
cat > $NETWORK/ifcfg-eth0 << EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=$IP
NETMASK=255.255.255.0
GATEWAY=$GATEWAY
PREFIX=24
IPV6INIT=no
EOF
}
function Set_zabbix_agent() {
rpm -ivh /usr/local/src/zabbix-agent-3.2.3-1.el6.x86_64.rpm
cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
mkdir -pv /var/run/zabbix/
chown zabbix:zabbix /var/run/zabbix/
sed -i "s/^\(ServerActive=\).*$/\1$ZABBIX_SERVER/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/^\(Server=\).*$/\1$ZABBIX_SERVER/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/^\(Hostname=\).*$/\1$HOST_NAME/g" /etc/zabbix/zabbix_agentd.conf
echo 'HostMetadataItem=system.uname' >>/etc/zabbix/zabbix_agentd.conf
echo 'HostMetadata=sdgsautoreg'>>/etc/zabbix/zabbix_agentd.conf
}
#添加自啟動服務
function Set_AUTO_services(){
if [ "$Get_host_version" == 7 ]
then
systemctl enable zabbix-agent &>/dev/null
/sbin/chkconfig zabbix-agent on &>/dev/null
reboot
elif [ "$Get_host_version" == 6 ]
then
chkconfig zabbix-agent on &>/dev/null
chkconfig --add zabbix-agent &>/dev/null
reboot
else
Error_system_version
return 1
fi
}
#這里開始調用執(zhí)行
Bakup_etc #備份etc
Off_firewall_and_selinux #關閉selinux
Set_timezone_and_time #設置時區(qū)和時間
Set_handler_Num # 設置打開文件數(shù)
Add_ywuser #是否創(chuàng)建ywuser用戶蘑辑,并設置sudo權限
set_Prompt #修改提示符信息
set_History #修改history提示增加時間和用戶
Set_multi_start #設置默認啟動時用字符界面
Close_ctrl_alt_del #禁止Ctrl+Alt+Del快捷鍵重新啟動
Automatic_log-out #設置300秒無操作自動注銷ROOT
Disabled_sshd_dns #禁用ssh的dns功能
Modify_network_card_name #統(tǒng)一網(wǎng)卡名稱為eth
Set_ip_gateway #設置IP地址網(wǎng)關
Set_HOST_NAME #設置hostname主機名
Set_zabbix_agent #設置zabbix-agent
Set_AUTO_services #添加自啟動服務
系統(tǒng)初始化腳本
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門曲横,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禾嫉,“玉大人熙参,你說我怎么就攤上這事艳吠。” “怎么了尊惰?”我有些...
- 文/不壞的土叔 我叫張陵讲竿,是天一觀的道長扳剿。 經(jīng)常有香客問我庆聘,道長,這世上最難降的妖魔是什么穴店? 我笑而不...
- 正文 為了忘掉前任膀捷,我火速辦了婚禮迈嘹,結果婚禮上,老公的妹妹穿的比我還像新娘全庸。我一直安慰自己秀仲,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布壶笼。 她就那樣靜靜地躺著神僵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪目派。 梳的紋絲不亂的頭發(fā)上智末,一...
- 文/蒼蘭香墨 我猛地睜開眼筷厘,長吁一口氣:“原來是場噩夢啊……” “哼玖雁!你這毒婦竟也來了浓镜?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布,位于F島的核電站脉课,受9級特大地震影響挂疆,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一庆揩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奕枢,春花似錦萌焰、人聲如沸墩邀。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽孵稽。三九已至,卻和暖如春十偶,著一層夾襖步出監(jiān)牢的瞬間菩鲜,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 【蝴蝶效應】 蝴蝶效應:上個世紀70年代坦敌,美國一個名叫洛倫茲的氣象學家在解釋空氣系統(tǒng)理論時說侣诵,亞馬遜雨林一只蝴蝶...
- 最近覺得很煩惱窝趣,總覺得時間不夠用,相信你經(jīng)常有這樣一些煩惱: “工作總是做不完.....” “忙完公司事情训柴,忙家里...