<code>#!/bin/bash </code>
<code>#:*********************************************** </code>
<code>#:Program:centos6_init_shell </code>
<code>#: </code>
<code>#:Author:yanconggod </code>
<code>#:History:2017-01-10 </code>
<code>#:Version:1.0 </code>
<code>cat</code> <code><<EOF </code>
<code> </code><code>+--------------------------------------------------------------+ </code>
<code> </code><code>| === Welcome to System init === | </code>
<code>EOF</code>
<code> </code>
<code>DATE=`</code><code>date</code> <code>+%Y_%m_%d:%H_%M_%S` </code>
<code>INIT_LOG=system_init_$DATE.log </code>
<code>#0.yum resource config </code>
<code>#mv /etc/yum.repos.d/* /tmp/ </code>
<code>#wget -P /etc/yum.repos.d/ http://yum.xxx.xxx/{CentOS-Base.repo,epel.repo} </code>
<code>yum clean all </code>
<code>yum </code><code>install</code> <code>vim gcc gcc-c++ openssl-devel python-devel lrzsz tree </code><code>ftp</code> <code>telnet -y </code>
<code>#1.del_user_group_config </code>
<code>USER=(adm lp </code><code>shutdown</code> <code>halt uucp operator games gopher) </code>
<code>for</code> <code>i </code><code>in</code> <code>`</code><code>echo</code> <code>${USER[*]}` </code>
<code>do</code>
<code> </code><code>if</code> <code>grep</code> <code>-qs </code><code>"$i"</code> <code>/etc/passwd</code><code>;</code><code>then</code>
<code> </code><code>/usr/sbin/userdel</code> <code>$i </code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>"$i is no exist"</code>
<code> </code><code>fi</code>
<code>done</code>
<code>GROUP=(adm lp dip) </code>
<code>for</code> <code>ii </code><code>in</code> <code>`</code><code>echo</code> <code>${GROUP[*]}` </code>
<code> </code><code>if</code> <code>grep</code> <code>-qs </code><code>"$ii"</code> <code>/etc/group</code><code>;</code><code>then</code>
<code> </code><code>/usr/sbin/groupdel</code> <code>$ii </code>
<code> </code><code>echo</code> <code>"$ii is no exist"</code>
<code>if</code> <code>[ </code><code>"$?"</code> <code>== </code><code>"0"</code> <code>];</code><code>then</code>
<code> </code><code>echo</code> <code>"$DATE [del_user_group_config] is [success]"</code> <code>>> </code><code>/root/</code><code>${INIT_LOG} </code>
<code>fi</code>
<code>#2.add_users_config </code>
<code>#指定UID,密碼不能明文顯示 </code>
<code>/usr/sbin/useradd</code> <code>-u 1001 -m -G 10 yanconggod </code>
<code>sed</code> <code>-i </code><code>'/yanconggod/s#\!\!#\$6\$nRS2zBCw\$9AuQZSdYJezLTyzinOQzfcp1je2EGAD5oL7d3JeAeSXKoVGd920\.vX\/dPFuyP\/C2VexJQa5PpPD\/wRfE0m\.9A\/#g'</code> <code>/etc/shadow</code>
<code>USER1=(yanconggod) </code>
<code>for</code> <code>yl </code><code>in</code> <code>`</code><code>echo</code> <code>${USER1[*]}` </code>
<code> </code><code>if</code> <code>grep</code> <code>-qs </code><code>"$yl"</code> <code>/etc/passwd</code><code>;</code><code>then</code>
<code> </code><code>echo</code> <code>"$DATE $yl is added success"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#3.sudoer_config </code>
<code>sed</code> <code>-i </code><code>'s/Defaults requiretty/#Defaults requiretty/g'</code> <code>/etc/sudoers</code>
<code>echo</code> <code>-e </code><code>"User_Alias SYSADMINS = yanconggod"</code> <code>>> </code><code>/etc/sudoers</code>
<code>echo</code> <code>-e </code><code>"SYSADMINS ALL=(ALL) NOPASSWD: ALL"</code> <code>>> </code><code>/etc/sudoers</code>
<code>echo</code> <code>"$DATE [sudoer_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#4.limits_config </code>
<code>echo</code> <code>"* soft nofile 65535"</code> <code>>></code><code>/etc/security/limits</code><code>.conf </code>
<code>echo</code> <code>"* hard nofile 65535"</code> <code>>></code><code>/etc/security/limits</code><code>.conf </code>
<code>echo</code> <code>"* soft noproc 65535"</code> <code>>></code><code>/etc/security/limits</code><code>.conf </code>
<code>echo</code> <code>"* hard noproc 65535"</code> <code>>></code><code>/etc/security/limits</code><code>.conf </code>
<code>sed</code> <code>-i </code><code>'/1024/s/1024/65535/g'</code> <code>/etc/security/limits</code><code>.d</code><code>/90-nproc</code><code>.conf </code>
<code>echo</code> <code>"$DATE [limits_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#5.sysctl_config </code>
<code>echo</code> <code>"net.ipv4.tcp_syncookies = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_fin_timeout = 30"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_tw_recycle = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_tw_reuse = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_max_syn_backlog = 4096"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.netdev_max_backlog = 10240"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.icmp_echo_ignore_broadcasts = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.somaxconn = 2048"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.wmem_default = 8388608"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.rmem_default = 8388608"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.rmem_max = 16777216"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.core.wmem_max = 16777216"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.conf.all.rp_filter = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_keepalive_time = 300"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_synack_retries = 2"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.tcp_syn_retries = 2"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>echo</code> <code>"net.ipv4.ip_local_port_range = 5000 65000 "</code> <code>>> </code><code>/etc/sysctl</code><code>.conf </code>
<code>sysctl -p </code>
<code>echo</code> <code>"$DATE [sysctl_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#6.history_config </code>
<code>echo</code> <code>"export HISTSIZE=2000"</code> <code>>> </code><code>/etc/profile</code>
<code>source</code> <code>/etc/profile</code>
<code>echo</code> <code>"$DATE [history_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#7.pass_length and login count limit </code>
<code>#sed -i '25s/99999/90/g' /etc/login.defs </code>
<code>#sed -i '27s/5/8/g' /etc/login.defs </code>
<code>sed</code> <code>-i </code><code>'5i auth required /lib64/security/pam_tally2.so deny=5 unlock_time=300'</code> <code>/etc/pam</code><code>.d</code><code>/system-auth</code>
<code>#8.disable_selinux_config </code>
<code>sed</code> <code>-i </code><code>'s/SELINUX=enforcing/SELINUX=disabled/'</code> <code>/etc/selinux/config</code>
<code>setenforce 0 </code>
<code>echo</code> <code>"$DATE [disable_selinux_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#9.ntp_config </code>
<code>ntp_config_count=`</code><code>crontab</code> <code>-l | </code><code>grep</code> <code>ntpdate|</code><code>wc</code> <code>-l` </code>
<code>if</code> <code>[ ${ntp_config_count} -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code>cat</code> <code><<EOF >> </code><code>/var/spool/cron/root</code>
<code>*</code><code>/5</code> <code>* * * * </code><code>/usr/sbin/ntpdate</code> <code>-s ntp1.aliyun.com ></code><code>/dev/null</code> <code>2>&1 </code>
<code>fi</code>
<code>if</code> <code>[ $? = 0 ];</code><code>then</code>
<code> </code><code>echo</code> <code>"$DATE [ntp_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#10.maxlogins_config </code>
<code>echo</code> <code>"yanconggod - maxlogins 10"</code> <code>>> </code><code>/etc/security/limits</code><code>.conf </code>
<code>echo</code> <code>"$DATE [maxlogins_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#11.disbled_ipv6_config </code>
<code>cat</code> <code>>></code><code>/etc/modprobe</code><code>.d</code><code>/disableipv6</code><code>.conf << EOF</code>
<code>alias</code> <code>net-pf-10 off </code>
<code>options ipv6 disable=1 </code>
<code>echo</code> <code>"$DATE [disble_ipv6_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG}</code>
<code>#12.character_config </code>
<code>cat</code> <code>>> </code><code>/etc/sysconfig/i18n</code> <code><< EOF</code>
<code>LANG=</code><code>"en_US.UTF-8"</code>
<code>SYSFONT=</code><code>"latarcyrheb-sun16"</code>
<code>#13.disable_service_config </code>
<code>for</code> <code>i </code><code>in</code> <code>auditd blk-availability ip6tables iptables lvm2-monitor netfs udev-post </code>
<code>chkconfig $i off </code>
<code>#iptables -F </code>
<code>#iptables -X </code>
<code>echo</code> <code>"$DATE [disable_service_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#15.DNS config </code>
<code>MASK=`</code><code>ifconfig</code> <code>| </code><code>grep</code> <code>-w </code><code>"inet"</code> <code>| </code><code>grep</code> <code>-</code><code>v</code> <code>127.0.0.1|</code><code>awk</code> <code>-F</code><code>':'</code> <code>'{print $2}'</code><code>|</code><code>sed</code> <code>'s/ Bcast$//g'</code><code>| </code><code>awk</code> <code>-F</code><code>'.'</code> <code>'{print $1"."$2}'</code><code>` </code>
<code>echo</code> <code>$MASK </code>
<code>if</code> <code>[ $MASK = </code><code>"10.0"</code> <code>-o $MASK = </code><code>"10.1"</code> <code>] </code>
<code>then</code>
<code>cat</code> <code>> </code><code>/etc/resolv</code><code>.conf << EOF </code>
<code>nameserver 10.0.0.1 </code>
<code>#nameserver 1.1.1.2 </code>
<code>#nameserver 1.1.1.3 </code>
<code>else</code>
<code> </code><code>: </code>
<code>#16.sshd_config </code>
<code>sed</code> <code>"s/#Port 22/Port 22/g"</code> <code>/etc/ssh/sshd_config</code> <code>-i </code>
<code>sed</code> <code>"s/^#Protocol 2/Protocol 2/g"</code> <code>/etc/ssh/sshd_config</code> <code>-i </code>
<code>sed</code> <code>"s/#UseDNS yes/UseDNS no/g"</code> <code>/etc/ssh/sshd_config</code> <code>-i </code>
<code>#sed 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config -i </code>
<code>#sed 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config -i </code>
<code>#sed 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/ssh_config -i </code>
<code>/etc/init</code><code>.d</code><code>/sshd</code> <code>restart </code>
<code>echo</code> <code>"$DATE [sshd_config] is [success]"</code> <code>>></code><code>/root/</code><code>${INIT_LOG} </code>
<code>#17. reboot_system</code>
<code>read</code> <code>-p </code><code>"Do you want to reboot the system?"</code> <code>want </code>
<code> </code><code>case</code> <code>$want </code><code>in</code>
<code> </code><code>yes</code><code>) </code>
<code> </code><code>echo</code> <code>"reboot now!"</code>
<code> </code><code>reboot </code>
<code> </code><code>;; </code>
<code> </code><code>no) </code>
<code> </code><code>echo</code> <code>"init over!"</code>
<code> </code><code>*) </code>
<code> </code><code>echo</code> <code>"please useage yes or no! thanks"</code>
<code> </code><code>esac</code>
本文轉自 yanconggod 51CTO部落格,原文連結:http://blog.51cto.com/yanconggod/1890698