清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | #!/bin/bash ################################################# #written:51clocker #date:2015-07-18 #email:admin@51clocker.com #web:http://www.51clocker.com ################################################# if [[ "$(whoami)" != "root" ]]; then echo "please run this script as root ." & gt ;&2 exit 1 fi echo -e "\033[31m 这个是系统初始化脚本,请慎重运行! press ctrl+C to cancel \033[0m" sleep 5 yum_update(){ yum -y install wget cd /etc/yum.repos.d/ mkdir bak mv ./*.repo bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum clean all && yum makecache yum -y install vim unzip openssl-client gcc gcc-c++ ntp } # /etc/hosts #[ "$(hostname -i)" != "127.0.0.1" ] && sed -i "s@^127.0.0.1\(.*\)@127.0.0.1 `hostname` \1@" /etc/hosts #关闭SELINUX selinux(){ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux setenforce 0 } #修改文件打开数 # /etc/security/limits.conf limits_config(){ cat & gt ;& gt ; /etc/security/limits.conf & lt ;& lt ;EOF * soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535 EOF echo "ulimit -SH 65535" & gt ;& gt ; /etc/rc. local } #优化内核参数 sysctl_config(){ sed -i 's/net.ipv4.tcp_syncookies.*$/net.ipv4.tcp_syncookies = 1/g' /etc/sysctl.conf cat & gt ;& gt ; /etc/sysctl.conf & lt ;& lt ; ENDF net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 #net.ipv4.tcp_tw_len = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.ip_local_port_range = 1024 65535 ENDF sysctl -p } #关闭系统不用的服务 stop_server(){ for server in `chkconfig --list | grep 3:on| awk '{ print $1}'` do chkconfig --level 3 $server off done for server in crond network rsyslog sshd do chkconfig --level 3 $server on done } #language.. inittab(){ if [ -z "$(cat /etc/redhat-release | grep '6\.')" ]; then sed -i 's/3:2345:respawn/ #3:2345:respawn/g' /etc/inittab sed -i 's/4:2345:respawn/ #4:2345:respawn/g' /etc/inittab sed -i 's/5:2345:respawn/ #5:2345:respawn/g' /etc/inittab sed -i 's/6:2345:respawn/ #6:2345:respawn/g' /etc/inittab sed -i 's/ca::ctrlaltdel/ #ca::ctrlaltdel/g' /etc/inittab sed -i 's@LANG=.*$@LANG= "en_US.UTF-8" @g' /etc/sysconfig/i18n else sed -i 's@^ACTIVE_CONSOLES.*@ACTIVE_CONSOLES=/dev/ tty [1-2]@' /etc/sysconfig/init sed -i 's@^start@ #start@' /etc/init/control-alt-delete.conf fi /sbin/init q } #设置时间时区同步 zone_time(){ rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # Update time /usr/sbin/ntpdate pool.ntp.org echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org & gt ; /dev/null 2& gt ;&1' & gt ; /var/spool/ cron /root; chmod 600 /var/spool/ cron /root /sbin/service crond restart } #配置SSHD sshd_config(){ #sed -i '/^#Port/s/#Port 22/Port 65535/g' /etc/ssh/sshd_config sed -i '/^ #UseDNS/s/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config #sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config sed -i 's/ #PermitEmptyPasswords no/PermitEmptyPasswords no/g' /etc/ssh/sshd_config /etc/init.d/sshd restart } # iptables iptables(){ cat & gt ; /etc/sysconfig/iptables & lt ;& lt ; EOF # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :syn-flood - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood -A INPUT -j REJECT --reject-with icmp-host-prohibited -A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN -A syn-flood -j REJECT --reject-with icmp-port-unreachable COMMIT EOF /sbin/service iptables restart source /etc/profile } other(){ # initdefault sed -i 's/^ id :.*$/ id :3:initdefault:/' /etc/inittab /sbin/init q # PS1 echo 'PS1= "\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[35;40m\]\W\[\e[0m\]]\\$ \[\e[33;40m\]" ' & gt ;& gt ; /etc/profile # Record command sed -i 's/^HISTSIZE=.*$/HISTSIZE=100/' /etc/profile echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });user=\$(whoami); echo \$(date \"+%Y-%m-%d %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> /tmp/\`hostname\`.\`whoami\`.history-timestamp'" & gt ;& gt ; /root/.bash_profile # Wrong password five times locked 180s sed -i '4a auth required pam_tally2.so deny=5 unlock_time=180' /etc/pam.d/system-auth . /etc/profile } main(){ yum_update selinux limits_config sysctl_config stop_server inittab zone_time sshd_config # iptables other } main |