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

[经验分享] CentOS6.x系统初始化脚本

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-22 09:20:41 | 显示全部楼层 |阅读模式
#!/bin/bash
#by authors Mox
#Email 827897564@qq.com
#

#--变量
err_echo(){
    echo -e "\\033[31m[Error]: $1 \\033[0m"
    exit 1
}

info_echo(){
    echo -e "\\033[32m [Info]: $1 \\033[0m"
}

warn_echo(){
    echo -e "\\033[33m [Warning]: $1 \\033[0m"
}

check_exit(){
    if [ $? -ne 0 ]; then
        err_echo "$1"
        exit 1
    fi
}

SSH_PORT=15300
LOGIN_USER=login_user
LOGIN_PASSWD=login_user

#用户登录失败锁定阀值
LOGIN_FAILD=3
LOCK_TIME=30


cat << EOF
+--------------------------------------------------------------+
|         === Welcome to CentOS 6.x System init ==="           |
+--------------------------------------------------------------+
EOF

info_echo "start check system vertion"
sv=`grep "CentOS" /etc/issue|awk '{print $1}'`
cv=`uname -r | awk -F. '{print $NF}'`
if [ $sv != CentOS ] && [ $cv != x86_64 ] ;then
        erro_echo "no CentOS or no x86_64 system !!! exit...."
        exit 7
fi

#添加epel外部yum扩展源
info_echo "add epel rpm sours..."
cd /usr/local/src
wget http://mirrors.ustc.edu.cn/fedor ... ease-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

#安装gcc基础库文件以及sysstat工具
info_echo "install gcc gcc-c++ unzip unzip vim wget...."
yum -y install gcc gcc-c++ vim-enhanced unzip unrar sysstat vim wget

info_echo "install ntpd..."
#配置ntpdate自动对时
yum -y install ntp
echo "01 01 * * * /usr/sbin/ntpdate ntp.api.bz    >> /dev/null 2>&1" >> /etc/crontab
ntpdate ntp.api.bz
service crond restart

#配置文件的ulimit值
info_echo "config ulimit..."
ulimit -SHn 65535
echo "ulimit -SHn 65535" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
*                     soft     nofile             60000
*                     hard     nofile             65535
EOF

info_echo "disabled control-alt-delete..."
#禁用control-alt-delete组合键以防止误操作
sed -i 's@ca::ctrlaltdel:/sbin/shutdown -t3 -r now@#ca::ctrlaltdel:/sbin/shutdown -t3 -r now@' /etc/inittab

#关闭SElinux
info_echo "disable Selinux..."
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config

#内核网络基础优化
info_echo "system kernel network optimize... "
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
EOF
/sbin/sysctl -p

#ssh服务配置优化
info_echo "backup sshd config..."
cp -f /etc/ssh/sshd_config /etc/ssh/sshd_config.back
info_echo "deny root login..."
sed -i '/#PermitRootLogin/a\PermitRootLogin no' /etc/ssh/sshd_config
info_echo "set ssh port $SSH_PORT"
sed -i "/#Port 22/a\ Port $SSH_PORT" /etc/ssh/sshd_config
info_echo "enable port $SSH_PORT"
iptables -I INPUT -p tcp -m state --state NEW --dport $SSH_PORT -j ACCEPT
sed -i 's@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config
service sshd restart

#增加登录用户
info_echo "add login user..."
useradd $LOGIN_USER
echo $LOGIN_USER | passwd --stdin $LOGIN_USER

#禁用ipv6地址
info_echo "disabled ipv6..."
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
echo "install ipv6 /bin/true" >> /etc/modprobe.conf
echo "IPV6INIT=no" >> /etc/sysconfig/network
sed -i 's@NETWORKING_IPV6=yes@NETWORKING_IPV6=no@'    /etc/sysconfig/network
chkconfig ip6tables off

#vim基础语法优化
info_echo "vim optimized..."
echo "syntax on" >> /root/.vimrc
echo "set nohlsearch" >> /root/.vimrc

#停用系统中不必要的服务
info_echo "optimized auto start servcie..."
chkconfig auditd off
chkconfig postfix off
chkconfig ip6tables off
chkconfig mdmonitor off

#设置用户登录失败锁定阀值,锁定时间
info_echo "set login faild lock time..."
cp -p /etc/pam.d/sshd /etc/pam.d/sshd.back
sed -i "/#%PAM-1.0/a\ auth    required    pam_tally2.so    deny=$LOGIN_FAILD    unlock_time=$LOCK_TIME even_deny_root root_unlock_time=$LOCK_TIME" /etc/pam.d/sshd
#查看错误登录次数
#pam_tally2 –u USER
#解锁命令
#pam_tally2 -u USER --reset

#设置bash保留的历史命令数目
info_echo "set bash history command amount..."
cp -p /etc/profile /etc/profile.back
sed -i "s/HISTSIZE=1000/HISTSIZE=5/" /etc/profile

info_echo "init OK @@!!"

#重启服务器
#reboot



运维网声明 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-261159-1-1.html 上篇帖子: 配置缓存DNS服务器和主DNS服务器 下篇帖子: Linux 双网卡实现负载均衡(Centos or Ubuntu)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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