一般我们在安装Linux新系统时,都需要配置及优化许多参数,而我们安装服务器操作系统时一般都是最小化安装的,这样在生产环境下也是最稳定的。
此脚本用于新装CentOS6.X的相关配置工作,比如禁掉iptable和SElinux及ipv6,优化系统内核,停掉一些没必要启动的系统服务等。您也可以根据自己的实际需求,增加或者更改脚本里的内容,特别是在部署大量服务器的时候比较省事。
#!/bin/bash
# Created by Anson# MAIL:744120325@qq.com# BLOG:http://523514.blog.51cto.com# 2014.01.21cat << EOF+--------------------------------------------------------------+| === Welcome to CentOS System init === |
+--------------------------------------------------------------+
+--------------------------by Anson----------------------------+
EOF#set ntp
yum -y install ntp yum-plugin* nmap telnet lrzsz gccntpdate time.windows.comntpdate 210.72.145.44echo "* 3 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /etc/crontabservice crond restart#set ulimitecho "ulimit -SHn 102400" >> /etc/rc.local#set locale#true > /etc/sysconfig/i18n#cat >>/etc/sysconfig/i18n<<EOF#LANG="zh_CN.GB18030"#SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"#SYSFONT="latarcyrheb-sun16"#EOF#set sysctltrue > /etc/sysctl.confcat >> /etc/sysctl.conf << EOFnet.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.shmmax = 68719476736kernel.shmall = 4294967296net.ipv4.tcp_max_tw_buckets = 6000net.ipv4.tcp_sack = 1net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 16384 4194304net.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.netdev_max_backlog = 262144net.core.somaxconn = 262144net.ipv4.tcp_max_orphans = 3276800net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_timestamps = 0net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_mem = 94500000 915000000 927000000net.ipv4.tcp_fin_timeout = 1net.ipv4.tcp_keepalive_time = 1200net.ipv4.ip_local_port_range = 1024 65535EOF/sbin/sysctl -p
echo "sysctl set OK!!"#close ctrl+alt+del for 5.x#sed -i "s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/" /etc/inittab#close ctrl+alt+del for 6.xmv /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.conf.bak#set purviewchmod 600 /etc/passwdchmod 600 /etc/shadowchmod 600 /etc/groupchmod 600 /etc/gshadow#disable ipv6cat << EOF+--------------------------------------------------------------+| === Welcome to Disable IPV6 === |
+--------------------------------------------------------------+
EOF#Disable IPv6 for 5.x
#echo "alias net-pf-10 off" >> /etc/modprobe.conf#echo "alias ipv6 off" >> /etc/modprobe.conf#Disable IPv6 for 6.xecho "alias net-pf-10 off" >> /etc/modprobe.d/ECS.confecho "alias ipv6 off" >> /etc/modprobe.d/ECS.conf/sbin/chkconfig --level 35 ip6tables offecho "ipv6 is disabled!"#disable selinuxsed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/configecho "selinux is disabled,you must reboot!"#vimsed -i "8 s/^/alias vi='vim'/" /root/.bashrcecho 'syntax on' > /root/.vimrc#zh_cn#sed -i -e 's/^LANG=.*/LANG="en"/' /etc/sysconfig/i18n#init_ssh#ssh_cf="/etc/ssh/sshd_config"#sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cf#sed -i "s/#Port 22/Port 65535/" $ssh_cf#sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf#client#sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf#service sshd restart#echo "ssh is init is ok.............."#chkser#tunoff services#--------------------------------------------------------------------------------cat << EOF+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF
#---------------------------------------------------------------------------------
for i in `ls /etc/rc3.d/S*`do CURSRV=`echo $i|cut -c 15-`echo $CURSRVcase $CURSRV in crond | irqbalance | microcode_ctl | network | random | iptables | sshd | syslog | local ) echo "Base services, Skip!" ;; *) echo "change $CURSRV to off" chkconfig --level 235 $CURSRV off service $CURSRV stop ;;esacdoneecho "service is init is ok.............."
参考网络资料: