设为首页 收藏本站
查看: 554|回复: 0

centos6.x 初始化脚本

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-11 10:06:22 | 显示全部楼层 |阅读模式

#!/bin/bash  
#:***********************************************  
#:Program:centos6_init_shell  
#:  
#:Author:yanconggod  
#:  
#:History:2017-01-10  
#:  
#:Version:1.0  
#:***********************************************  
cat <<EOF  
+--------------------------------------------------------------+  
|          === Welcome to  System init ===                     |  
+--------------------------------------------------------------+  
EOF
   
DATE=`date +%Y_%m_%d:%H_%M_%S`  
INIT_LOG=system_init_$DATE.log
   
#0.yum resource config  
#mv /etc/yum.repos.d/* /tmp/  
#wget -P /etc/yum.repos.d/ http://yum.xxx.xxx/{CentOS-Base.repo,epel.repo}  
yum clean all  
yum install vim gcc gcc-c++ openssl-devel python-devel lrzsz tree ftp telnet -y  
   
#1.del_user_group_config  
USER=(adm lp shutdown halt uucp operator games gopher)  
for i in `echo ${USER
  • }`  
    do  
        if grep -qs "$i" /etc/passwd;then  
            /usr/sbin/userdel $i  
        else  
            echo "$i is no exist"  
        fi  
    done  
    GROUP=(adm lp dip)  
    for ii in `echo ${GROUP
  • }`  
    do  
        if grep -qs "$ii" /etc/group;then  
            /usr/sbin/groupdel $ii  
        else  
            echo "$ii is no exist"  
        fi  
    done  
    if [ "$?" == "0" ];then  
        echo "$DATE [del_user_group_config] is [success]"  >> /root/${INIT_LOG}  
    fi  
    #2.add_users_config  
    #指定UID,密码不能明文显示  
    /usr/sbin/useradd -u 1001 -m -G 10 yanconggod  
    sed -i '/yanconggod/s#\!\!#\$6\$nRS2zBCw\$9AuQZSdYJezLTyzinOQzfcp1je2EGAD5oL7d3JeAeSXKoVGd920\.vX\/dPFuyP\/C2VexJQa5PpPD\/wRfE0m\.9A\/#g' /etc/shadow  
       
    USER1=(yanconggod)  
    for yl in `echo ${USER1
  • }`  
    do  
        if grep -qs "$yl" /etc/passwd;then  
            echo "$DATE $yl is added success" >>/root/${INIT_LOG}  
        fi  
    done  
    #3.sudoer_config  
    sed -i 's/Defaults    requiretty/#Defaults    requiretty/g' /etc/sudoers  
    echo -e "User_Alias SYSADMINS = yanconggod" >> /etc/sudoers  
    echo -e "SYSADMINS       ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers  
    echo "$DATE [sudoer_config] is [success]" >>/root/${INIT_LOG}  
    #4.limits_config  
    echo "*                soft   nofile          65535" >>/etc/security/limits.conf  
    echo "*                hard   nofile          65535" >>/etc/security/limits.conf  
    echo "*                soft   noproc          65535" >>/etc/security/limits.conf  
    echo "*                hard   noproc          65535" >>/etc/security/limits.conf  
    sed -i '/1024/s/1024/65535/g' /etc/security/limits.d/90-nproc.conf  
    echo "$DATE [limits_config] is [success]" >>/root/${INIT_LOG}  
    #5.sysctl_config  
    echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_max_syn_backlog = 4096" >> /etc/sysctl.conf  
    echo "net.core.netdev_max_backlog = 10240" >> /etc/sysctl.conf  
    echo "net.ipv4.icmp_echo_ignore_broadcasts = 1" >> /etc/sysctl.conf  
    echo "net.core.somaxconn = 2048" >> /etc/sysctl.conf  
    echo "net.core.wmem_default = 8388608" >> /etc/sysctl.conf  
    echo "net.core.rmem_default = 8388608" >> /etc/sysctl.conf  
    echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf  
    echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf  
    echo "net.ipv4.conf.all.rp_filter = 1" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_keepalive_time = 300" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf  
    echo "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.conf  
    echo "net.ipv4.ip_local_port_range = 5000    65000 " >> /etc/sysctl.conf  
    sysctl -p  
    echo "$DATE [sysctl_config] is [success]" >>/root/${INIT_LOG}  
    #6.history_config  
    echo "export HISTSIZE=2000" >> /etc/profile  
    source /etc/profile  
    echo "$DATE [history_config] is [success]" >>/root/${INIT_LOG}  
    #7.pass_length and login count limit  
    #sed -i '25s/99999/90/g' /etc/login.defs  
    #sed -i '27s/5/8/g' /etc/login.defs  
    sed -i '5i auth        required      /lib64/security/pam_tally2.so deny=5 unlock_time=300' /etc/pam.d/system-auth  
    #8.disable_selinux_config  
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  
    setenforce 0  
    echo "$DATE [disable_selinux_config] is [success]" >>/root/${INIT_LOG}  
    #9.ntp_config  
    ntp_config_count=`crontab -l | grep ntpdate|wc -l`  
    if [ ${ntp_config_count} -eq 0 ];then  
    cat  <<EOF   >> /var/spool/cron/root   
    */5 * * * * /usr/sbin/ntpdate -s ntp1.aliyun.com >/dev/null 2>&1
    EOF

    fi

       
    if [ $? = 0 ];then  
        echo "$DATE [ntp_config] is [success]" >>/root/${INIT_LOG}  
    fi  
    #10.maxlogins_config  
    echo "yanconggod          -       maxlogins       10" >> /etc/security/limits.conf  
    echo "$DATE [maxlogins_config] is [success]" >>/root/${INIT_LOG}  
    #11.disbled_ipv6_config  
    cat >>/etc/modprobe.d/disableipv6.conf << EOF
    alias net-pf-10 off  
    options ipv6 disable=1  
    EOF

    echo "$DATE [disble_ipv6_config] is [success]" >>/root/${INIT_LOG}
    #12.character_config  
    cat >> /etc/sysconfig/i18n << EOF
    LANG="en_US.UTF-8"  
    SYSFONT="latarcyrheb-sun16"  
    EOF

    #13.disable_service_config  
    for i in auditd blk-availability ip6tables iptables lvm2-monitor netfs udev-post  
    do  
    chkconfig $i off  
    #iptables -F  
    #iptables -X  
    done  
    echo "$DATE [disable_service_config] is [success]" >>/root/${INIT_LOG}  
    #15.DNS config  
    MASK=`ifconfig | grep -w "inet" | grep -v 127.0.0.1|awk -F':' '{print $2}'|sed 's/ Bcast$//g'| awk -F'.' '{print $1"."$2}'`  
       
    echo $MASK  
    if [ $MASK = "10.0" -o $MASK = "10.1" ]  
    then  
    cat > /etc/resolv.conf << EOF  
    nameserver 10.0.0.1
    #nameserver 1.1.1.2  
    #nameserver 1.1.1.3  
    EOF

    else  
        :  
    fi  
    #16.sshd_config  
    sed "s/#Port 22/Port 22/g" /etc/ssh/sshd_config -i  
    sed "s/^#Protocol 2/Protocol 2/g" /etc/ssh/sshd_config -i  
    sed "s/#UseDNS yes/UseDNS no/g" /etc/ssh/sshd_config -i  
    #sed 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config -i  
    #sed 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config -i  
    #sed 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/ssh_config -i  
    /etc/init.d/sshd restart  
    echo "$DATE [sshd_config] is [success]" >>/root/${INIT_LOG}  
    #17. reboot_system
    read -p "Do you want to reboot the system?" want  
                        case $want in  
       
                                     yes)  
                                     echo "reboot now!"  
                                     reboot  
                                     ;;  
       
                                     no)  
                                     echo "init over!"  
                                     ;;  
       
                                     *)  
                                     echo "please useage yes or no! thanks"  
                                     ;;  
       
                        esac




  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326884-1-1.html 上篇帖子: 文件监控脚本源码 下篇帖子: shell视频
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表