初始化脚本(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 ...
随机推荐
- 精彩的javascript对象和数组混合相加
最近遇到一个让人困解的一个问题:一个简单的js加法运算表达式: +[]; //这里加上一个空数组得到什么???答案:'1'; 为什么答案是1,一开始我也很困惑:后来我读了一篇文章才知道:在javasc ...
- tomcat 内存溢出解决办法
- HTML5正确的嵌入flash
<object type="application/x-shockwave-flash" data="your-flash-file.swf" width ...
- Unity-Animator在Editor状态下的单个/批量预览工具
网上有一个版本,但是调了半天用不了.于是自己动手写了一个 单个预览 批量预览 使用: 下载地址: http://files.cnblogs.com/files/hont/AnimatorClipPre ...
- WPF上Arc Lisence的有关问题
WPF下Arc Lisence的问题代码如下: using System; using System.Collections.Generic; using System.Configuration; ...
- Java中byte与16进制字符串的互相转换
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...
- 一步一步学习underscore的封装和扩展方式
前言 underscore虽然有点过时,这些年要慢慢被Lodash给淘汰或合并. 但通过看它的源码,还是能学到一个库的封装和扩展方式. 第一步,不污染全局环境. ES5中的JS作用域是函数作用域. 函 ...
- day 2
三目运算符 A?B:C 等价于 if(A) B; else C; 实例: int i: i=(3>2?5:1) //如果3>2为真,i的值为5,否则为1 printf(“%d”,i): ...
- (转载)U-boot启动完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 Ø 硬件设备初始化 Ø 加载U-Boot第二阶段代码到RAM空间 Ø 设置好栈 Ø ...
- iOS - Xcode 常用快捷键
Xcode 常用快捷键 1)文件: command + shift + n 新建项目 command + n 新建文件 command + control + n 新建空文件 command + o ...