系统初始化脚本

写在最前面

装机不容易,配置更不容易,最好都看完先..

  
  
  
  
  1. #!/bin/bash 
  2.  
  3. set -x 
  4.  
  5. # disable ipv6 
  6. echo "alias net-pf-10 off" >> /etc/modprobe.conf 
  7. echo "alias ipv6 off" >> /etc/modprobe.conf 
  8. /sbin/chkconfig --level 35 ip6tables off 
  9. echo "ipv6 is disabled!" 
  10.  
  11. # disable selinux 
  12. sed -i 's/^\(SELINUX=\).*/\1permissive/g' /etc/sysconfig/selinux  
  13. echo "selinux is permissive,you must reboot!" 
  14.  
  15. # vim 
  16. sed -i "/^alias/a\alias vi='vim'/" /root/.bashrc 
  17. sed -i "/^alias/a\alias grep='grep --color'" /root/.bashrc 
  18. . /root/.bashrc 
  19.  
  20. cat >/root/.vimrc<<EOF 
  21. syntax on 
  22. set expandtab 
  23. set shiftwidth=4 
  24. set softtabstop=4 
  25. set tabstop=4 
  26. EOF 
  27.  
  28.  
  29. # init_ssh 
  30.  
  31. sed -i '/GSSAPI/ {s/yes/no/g};/UseDNS/ {s/.*/UseDNS no/};/^SyslogFacility/ {s/AUTHPRIV/local5/g}' /etc/ssh/sshd_config  
  32. sed -i '/StrictHostKeyChecking/ {s/.*/StrictHostKeyChecking no/}' /etc/ssh/ssh_config 
  33. sed -i '$ a\# save sshd messages also to sshd.log \nlocal5.* \t\t\t\t\t\t /var/log/sshd.log'  /etc/syslog.conf   
  34. sed -i '/^#Port/a\Port 22245' /etc/ssh/sshd_config   
  35. #sed -i '/^#PermitRootLogin/a\PermitRootLogin no' /etc/ssh/sshd_config  
  36. sed -i '/^#PermitEmptyPasswords/a\PermitEmptyPasswords no' /etc/ssh/sshd_config  
  37. sed -i 's/^\(Protocol\).*/\1 2/g' /etc/ssh/sshd_config  
  38. sed -i 's/^\(X11Forwarding\).*/\1 no/g' /etc/ssh/sshd_config  
  39. sed -i '/^#MaxStartups/a\MaxStartups 5' /etc/ssh/sshd_config  
  40. sed -i '/^#LoginGraceTime/a\LoginGraceTime 1m' /etc/ssh/sshd_config   
  41. sed -i '/^#ClientAliveInterval/a\ClientAliveInterval 600' /etc/ssh/sshd_config  
  42. sed -i '/^#ClientAliveCountMax/a\ClientAliveCountMax 3' /etc/ssh/sshd_config  
  43. echo "#AllowUsers" >>/etc/ssh/sshd_config  
  44. echo "Configured SSH initialization!" 
  45.  
  46.  
  47. # initab 
  48.  
  49. sed -i '/ctrlaltdel/s/^/#/g' /etc/inittab  
  50. sed -i '/initdefault:/s/[0-9]/3/g' /etc/inittab  
  51.  
  52. # chkser 
  53. # tunoff services 
  54.  
  55. for i in `ls /etc/rc3.d/S*` 
  56. do 
  57.              CURSRV=`echo $i|cut -c 15-` 
  58.  
  59. echo $CURSRV 
  60. case $CURSRV in 
  61.      acpid|atd|auditd|cpuspeed|crond|gpm|iptables|irqbalance|lvm2-monitor|mcstrans|microcode_ctl|network|portmap|rawdevices|restorecond|sshd|syslog|sendmail|local|mysqld|nginx|php-fpm|autofs) 
  62.      echo "Base services, Skip!" 
  63.      ;; 
  64.      *) 
  65.          echo "change $CURSRV to off" 
  66.          chkconfig --level 235 $CURSRV off 
  67.          service $CURSRV stop 
  68.      ;; 
  69. esac 
  70. done 
  71.  
  72. set ntpdate 
  73. # crontab 
  74. [ -f /usr/sbin/ntpdate ] || yum install ntp -y 
  75. crontab -l > /tmp/crontab2.tmp 
  76. echo '15 1 * * * /usr/sbin/ntpdate ntp.api.bz;/usr/sbin/hwclock -w > /dev/null 2>&1' >> /tmp/crontab2.tmp 
  77. crontab /tmp/crontab2.tmp 
  78. rm /tmp/crontab2.tmp 
  79.  
  80. echo -e "\033[32;49;1mInitialization complete" 
  81. echo -en "\033[39;49;0m" 
  82.  
  83.  
  84. # arp 
  85. GW=`route -n|grep UG|awk '{print $2}'
  86. for i in $GW 
  87. do 
  88.     GW_MAC=`/sbin/arping -c1 $i|awk -F '(\\\[|\\\])' '/reply/{print $2}'
  89.     echo -e "$i\t$GW_MAC" >>/etc/ethers 
  90.     /sbin/arp -f 
  91. done 
  92.  
  93.  
  94. # kernel  
  95. # turning system 
  96.  
  97. ulimit -HSn 65536 
  98. echo -ne " 
  99. *\tsoft\tnofile\t65536 
  100. *\thard\tnofile\t65536 
  101. " >>/etc/security/limits.conf 
  102.  
  103.  
  104. # /etc/sysctl.conf 
  105. cat >>/etc/sysctl.conf<<EOF 
  106.  
  107. net.ipv4.ip_forward = 0 
  108. net.ipv4.conf.default.rp_filter = 1 
  109. net.ipv4.conf.default.accept_source_route = 0 
  110. kernel.sysrq = 0 
  111. kernel.core_uses_pid = 1 
  112. kernel.msgmnb = 65536 
  113. kernel.msgmax = 65536 
  114. kernel.shmmax = 68719476736 
  115. kernel.shmall = 4294967296 
  116.  
  117. net.ipv4.netfilter.ip_conntrack_max = 131072 
  118. net.ipv4.tcp_sack = 1 
  119. net.ipv4.tcp_window_scaling = 1 
  120. net.ipv4.tcp_rmem = 8192    436600  873200 
  121. net.ipv4.tcp_wmem = 32768   436600  873200 
  122. net.ipv4.tcp_mem = 786432   1048576 1572864 
  123.  
  124. net.ipv4.ip_local_port_range = 1024    65000 
  125. net.ipv4.tcp_max_orphans = 262144 
  126. net.ipv4.tcp_timestamps = 0 
  127. net.ipv4.tcp_keepalive_time = 300 
  128. net.ipv4.tcp_keepalive_intvl = 30 
  129. net.ipv4.tcp_keepalive_probes = 3 
  130.  
  131.  
  132. net.ipv4.tcp_max_syn_backlog = 262144 
  133. net.ipv4.tcp_syncookies = 1 
  134. net.ipv4.tcp_synack_retries = 1 
  135. net.ipv4.tcp_syn_retries = 1 
  136.  
  137. net.ipv4.tcp_tw_reuse = 1 
  138. net.ipv4.tcp_tw_recycle = 1 
  139. net.ipv4.tcp_max_tw_buckets = 6000 
  140. net.ipv4.tcp_fin_timeout = 30 
  141.  
  142. net.core.wmem_default = 8388608 
  143. net.core.rmem_default = 8388608 
  144. net.core.rmem_max = 16777216 
  145. net.core.wmem_max = 16777216 
  146.  
  147. net.core.netdev_max_backlog =  262144 
  148. net.core.somaxconn = 262144 
  149.  
  150.  
  151. EOF 

 

你可能感兴趣的:(系统初始化脚本)