gcc环境
------------------
sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

编译安装lrzsz
---------------------
cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
ln -s /usr/local/bin/lrz /usr/bin/rz
ln -s /usr/local/bin/lsz /usr/bin/sz
rm -rf /tmp/lrzsz*

上传初始化脚本和startup.tar.gz,并执行
----------------------------------------
Os_Init_Optimization.sh

#!/bin/bash

#解压缩startup.tar.gz包
cd /tmp && tar -zxf startup.tar.gz

#下载工具及时间同步工具
apt-get install -y wget
apt-get install -y ntpdate
ntpdate -d cn.pool.ntp.org
date

#修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

echo "##### update server time #####" >> /var/spool/cron/crontabs/root
echo "*/10 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1 && /sbin/clock -w > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root
echo "##### history #####" >> /var/spool/cron/crontabs/root
echo "*/5 * * * * /usr/local/gacp/worksh/history.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root
echo "##### Logs #####" >> /var/spool/cron/crontabs/root
echo "00 00 * * * /usr/local/gacp/worksh/del_100day_before_logs.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "00 00 * * * /usr/local/gacp/worksh/log_rotate.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root

#file size
sed -i 'N;14iulimit -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

DATE=`date +%Y%m%H`

#add lsyw user
/usr/sbin/useradd lsyw
echo 'lsyw:xxxxx' | /usr/sbin/chpasswd

#ssh
DATE=`date +%Y%m%H`
ssh_cf="/etc/ssh/sshd_config"

cp $ssh_cf $ssh_cf.$DATE
sed -i "s/Port 22/Port 50000/" $ssh_cf
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' $ssh_cf
sed -i '$aAllowUsers lsyw' $ssh_cf
systemctl restart ssh

#防爆破登录
apt-get 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/

防火墙iptable
----------------------
由于Ubuntu使用iptable比较特殊,不能在脚本中操作,需要依下面步骤操作:

1. 为了保存iptables规则,需要安装两个包
apt-get install iptables-persistent netfilter-persistent

2. 修改防火墙:vi /etc/iptables/rules.v4
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

3. 应用防火墙规则:
iptables-restore < /etc/iptables/rules.v4

4. 重启fail2ban
systemctl restart fail2ban

chkconfig 替代 sysv-rc-conf
-------------------------------------
安装: apt-get install -y sysv-rc-conf
sysv-rc-conf --list
sysv-rc-conf 服务 --levels 2345 on

ubuntu 16.04.1 LTS 初始化的更多相关文章

  1. Ubuntu 16.04.3 LTS u盘-安裝教程(填坑)

    Ubuntu 16.04.3 LTS 下载地址: https://www.ubuntu.com/download/desktop 下载u盘后文件为iso,可以选择UltraISO制作U盘启动,也可以直 ...

  2. Alienware-15-R3 装Ubuntu 16.04.3 LTS

    前言:Alienware-15-R3默认安装的系统是win10.现在卸载win0,装Ubuntu 16.04.3 LTS. 一.下载Ubuntu 16.04.3 LTS镜像文件,下载地址:https: ...

  3. Ubuntu 16.04.4 LTS环境中php7.0使用mysqli失败,数据库无法访问

    环境: Ubuntu 16.04.4 LTS php7.0 输入命令php -m,显示如下,发现没有mysqli模块 输入命令sudo apt install php-mysql,安装mysql模块, ...

  4. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (一)

    java和tomcat环境配置已经有很多教程和文章,最近项目需要配置Ubuntu 16.04.2下的古老的java6和tomcat 6,遇到小坑,特记录和分享. 网上的教程不是太新,就是太老,还有一些 ...

  5. Ubuntu 16.04.4 LTS设置root用户登陆图形界面

    普通用户登陆真是太憋屈,这也不能那也不能,root用户登录就可以肆无忌惮了 本方法采用nano编辑器,ubantu版本Ubuntu 16.04.4 LTS,其他版本应该也一样,下面进入正题 1.终端登 ...

  6. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (二)

    上一篇记录和分享了jdk1.6 在Ubuntu 16.04.2 环境下的安装配置,本文开始安装和配置tomcat 6     2 安装tomcat   http://tomcat.apache.org ...

  7. 在VMWare虚拟机中安装Ubuntu 16.04.1 LTS

    一.需要的准备 安装好VMWare虚拟机(傻瓜式安装,一直next就可以,请支持正版),将Ubuntu的系统镜像下载好,目前最新的LTS版本为16.04.1. 我把虚拟机和Ubuntu镜像传到了百度云 ...

  8. 配置ubuntu 16.04.1 LTS odoo 10.0开发环境

    使用VMware Fusion 8.5.0创建ubuntu 64bit虚拟机:使用ubuntu-16.04.1-desktop-amd64.iso镜像缺省安装ubuntu,用户名odoo,密码1234 ...

  9. VMware安装Ubuntu 16.04.4 LTS

    1.下载Ubuntu镜像 https://www.ubuntu.com/download/desktop 2.创建新的虚拟机 3. 4.这里默认即可,可以不选 5. 6. 7.这里位置可以随时改 8. ...

随机推荐

  1. luogu P2764 最小路径覆盖问题

    题目描述 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开始,长度也是任 ...

  2. npm错误总结

    You cannot publish over the previously published version 1.0.1." : xxx 发布时一定要修改package.json的版本号 ...

  3. COGS1752. [BOI2007]摩基亚Mokia CDQ

    CDQ的板子题 #include<cstdio> #include<cstring> #include<iostream> #include<algorith ...

  4. linux bash善用判断式

    1.利用 test 指令的测试功能 $ test -e hello.sh && echo "ok" || echo "no" ok 2.首先,判 ...

  5. The 13th Zhejiang Provincial Collegiate Programming Contest - C

    Defuse the Bomb Time Limit: 2 Seconds      Memory Limit: 65536 KB The bomb is about to explode! Plea ...

  6. angular的一些问题

    引入第三方类库 1.安装依赖 npm install jquey --save 2.引入项目 在angular-cli.json "scripts": [ "../nod ...

  7. 转:java读取配置文件的几种方法

    转自: http://www.iteye.com/topic/56496 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小 ...

  8. HDU1174(空间点到直线的距离,用叉积)

    爆头 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  9. mysql约束与索引的区别

    一:约束 作用:是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具(约束): 这里主要讲解mysql的约束: 1.非空约束:not null; 指示某列不能存储 ...

  10. 【转】Spring Bean属性解析

    转载自:http://wenku.baidu.com/view/30c7672cb4daa58da0114ae2.html Bean所以属性一览: <bean id="beanId&q ...