初始化脚本(Os_Init_Optimization.sh)
#!/bin/bash #解压缩startup.tar.gz包
cd /tmp && tar -zxf startup.tar.gz #初始化YUM源
rm -rf /etc/yum.repos.d/*
cp -ap ./file/*.repo /etc/yum.repos.d/
/bin/rpm --import ./file/RPM-GPG-KEY.dag.txt
/bin/rpm --import ./file/RPM-GPG-KEY-CentOS-6
/usr/bin/yum clean all
/usr/bin/yum makecache #下载工具及时间同步工具
/usr/bin/yum install -y wget
/usr/bin/yum install -y ntp
ntpdate -d cn.pool.ntp.org
date echo "##### update server time #####" >> /var/spool/cron/root
echo "*/10 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1 && /sbin/clock -w > /dev/null 2>&1" >> /var/spool/cron/root
echo "" >> /var/spool/cron/root
echo "##### history #####" >> /var/spool/cron/root
echo "*/5 * * * * /usr/local/gacp/worksh/history.sh > /dev/null 2>&1" >> /var/spool/cron/root
echo "" >> /var/spool/cron/root
echo "##### Logs #####" >> /var/spool/cron/root
echo "00 00 * * * /usr/local/gacp/worksh/del_100day_before_logs.sh > /dev/null 2>&1" >> /var/spool/cron/root
echo "00 00 * * * /usr/local/gacp/worksh/log_rotate.sh > /dev/null 2>&1" >> /var/spool/cron/root
echo "" >> /var/spool/cron/root #下载必要系统工具
/usr/bin/yum install -y lsof htop nmap iotop telnet iptraf iftop vim-enhanced logrotate ntsysv bind-utils sysstat irqbalance microcode_ctl dstat net-snmp rsync openssh-clients #selinux is disabled
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
echo "selinux is disabled,you must reboot!" #vim
sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
sed -i "9 s/^/alias dstat='dstat -cdlmnpsy'\n/" /root/.bashrc
sed -i "10 s/^/alias grep='grep --color=auto'\n\n/" /root/.bashrc
echo 'syntax on' > /root/.vimrc source ~/.bashrc mv /etc/security/limits.d/90-nproc.conf /etc/security/limits.d/90-nproc #file size
echo 'ulimit -SHn 65535' >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 60000
* hard nofile 65535
EOF #sysctl.conf
cat >> /etc/sysctl.conf <<eof # NEW ADD
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_max_tw_buckets = 65535 net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 131070
net.core.somaxconn = 20480
eof /sbin/sysctl -p #init
for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 2345 $sun off;done
for sun in crond irqbalance network sysstat sshd rsyslog iptables;do chkconfig --level 2345 $sun on;done DATE=`date +%Y%m%H` #add lsyw user
/usr/sbin/useradd lsyw
echo "lishen@123" | passwd lsyw --stdin #ssh
ssh_cf="/etc/ssh/sshd_config" cp $ssh_cf $ssh_cf.$DATE
sed -i "s/#Port 22/Port 50000/" $ssh_cf
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf
sed -i "/X11Forwarding yes/d" $ssh_cf
sed -i "s/#X11Forwarding no/X11Forwarding no/g" $ssh_cf
sed -i "s/#PrintMotd yes/PrintMotd no/g" $ssh_cf
sed -i "s/#PrintLastLog yes/PrintLastLog no/g" $ssh_cf
sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' $ssh_cf
sed -i '$aAllowUsers lsyw' $ssh_cf
/etc/init.d/sshd reload #iptables添加规则放通50000端口
sed -i '/dport 22/{ s/22/50000/g }' /etc/sysconfig/iptables
/etc/init.d/iptables reload #清空信息信息为了安全
ISSUE=/etc/issue
ISSUE_NET=/etc/issue.net
RELEASE=/etc/redhat-release cp $ISSUE $ISSUE.$DATE
cp $ISSUE_NET $ISSUE_NET.$DATE
cp $RELEASE $RELEASE.$DATE >$ISSUE
>$ISSUE_NET
>$RELEASE #snmp
snmp_cf="/etc/snmp/snmpd.conf"
cp $snmp_cf $snmp_cf.$DATE
rm -rf $snmp_cf
cp -a ./etc/snmpd.conf $snmp_cf #deluser
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp #防爆破登录
yum install -y fail2ban mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.$DATE
cp -ap ./file/jail.conf /etc/fail2ban/ mkdir /usr/local/gacp/worksh -p
cp -ap ./file/history.sh ./file/log_rotate.sh ./file/del_100day_before_logs.sh /usr/local/gacp/worksh/
初始化脚本(Os_Init_Optimization.sh)的更多相关文章
- liunx用户环境初始化脚本
liunx用户环境初始化脚本 编写生成脚本基本格式,包括作者,联系方式,版本,时间,描述等 [root@magedu ~]# vim .vimrc set ignorecase set c ...
- ubuntu系统安装初始化脚本
ubuntu系统安装初始化脚本 经常安装卸载ubuntu,每次系统安装完成后要安装好多软件,一个个命令输很麻烦浪费时间,一个sh文件全搞定! 1. flashplayer下载:点击这里 2. Auda ...
- 分析MariaDB初始化脚本mysql_install_db
在初始化MySQL的过程中经常会碰到各种问题,如 FATAL ERROR: Could not find ./bin/my_print_defaults ERROR: Can't create/wri ...
- Tomcat启动脚本catalina.sh
1 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚 ...
- 分享我自己的一个最小化安装CentOS6的初始化脚本
在自己的虚拟机上使用的基于CentOS6的系统初始化脚本 #!/bin/bash # #Filename:system_init.sh #Description:系统安装完成后,对系统进行一些配置,以 ...
- Centos7初始化脚本
今天分享一个自己写的一个初始化的小脚本. 编写初始化系统要考虑到系统的版本问题,现在用的比较多的就是centos6和centos7,所以首先要判断一下系统的版本. cat /etc/redhat-re ...
- linux系统最小化安装后的初始化脚本
作为运维人员,经常会初始化系统,系统在安装过程中基本都会选择最小化安装,这样安装好的系统里会缺少很多环境. 下面分享一个系统安装后的初始化脚本: #!/bin/bash #系统时最小化安装的,这里要安 ...
- Centos7系统初始化脚本
前言: 因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦. 于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作. 说明: 本脚本根据自身需求编写 ...
- centos7 初始化脚本
#!/bin/bash # 时间: 2018-11-21 # 作者: HuYuan # 描述: CentOS 7 初始化脚本 # 加载配置文件 if [ -n "${1}" ];t ...
随机推荐
- InnerJoin分页导致的数据重复问题排查
2016年8月9号美好的七夕的早上,我精神抖擞地来到公司.一会之后,客服宅宅MM微信我,说一个VIP大店铺订单导出报表中一个订单有重复行.于是,我赶紧开始查探问题所在.经过一天的反复仔细追查(当然还包 ...
- 芯航线FPGA学习套件之多通道串行ADDA(TLV1544,TLC5620)模块测试手册
芯航线FPGA学习套件之多通道串行ADDA模块测试手册 本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法: 连接开发板,如下所示: 2.将ADDA V1.1模块与开 ...
- iOS开发之生成二维码
一.二维码的生成 从iOS7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器 1.二维码的内容(传统的条形码只能放数字) 纯文本 名片 URL 2.生成二 ...
- sublime 使用技巧
使用sublime使遇到的问题: 1.左侧菜单栏隐藏恢复:View ->Side Bar ->Show Side Bar 2.顶部菜单栏隐藏恢复:按住ctrl+shift+p,出现一个框, ...
- 读书笔记 1 of Statistics :Moments and Moment Generating Functions (c.f. Statistical Inference by George Casella and Roger L. Berger)
Part 1: Moments Definition 1 For each integer $n$, the nth moment of $X$, $\mu_n^{'}$ is \[\mu_{n}^{ ...
- [四校联考P3] 区间颜色众数 (主席树)
主席树 Description 给定一个长度为 N 颜色序列A,有M个询问:每次询问一个区间里是否有一种颜色的数量超过了区间的一半,并指出是哪种颜色. Input 输入文件第一行有两个整数:N和C 输 ...
- [问题2014A12] 解答
[问题2014A12] 解答 将问题转换成几何的语言: 设 \(\varphi,\psi\) 是 \(n\) 维线性空间 \(V\) 上的线性变换, 满足 \(\varphi\psi=\psi\va ...
- 405 Method Not Allowed
今天在发布一个网站的时候遇到 标题上的问题,一直不明白是为何,刚开始以为是我的程序写的有问题,随即将项目发给同事来发布试试,在他的IIS上发布却没出现问题,一切正常,这可就怪了,于是想到了应该是IIS ...
- iOS 使用Touch ID 校验[新增 iOS9 三种错误]
iOS8后苹果开放了Touch ID的API给开发者,这也给我们的app带来了新的体验.开发者们可使用向第三方应用开放了Touch ID权限的API,以便他们在应用中使用指纹认证来完成用户认证或支付购 ...
- Python学习笔记(0)
Python 是什么类型的语言 Python是脚本语言 Python下载地址:https://www.python.org/downloads/ Python版本:Python 3.4.2 - 64b ...