linux个性化配置初始化脚本

#!/bin/bash
#====================================================
# Author: Mr.Song
# Create Date: 2018-11-16
# Description:
#====================================================

########################################################
#bash配置
cat >> ~/.bashrc <<- EOF
alias cls=‘clear‘ #DOS风格的清空
alias h=‘history | tail‘
alias hg=‘history | grep‘
alias hl=‘history | less‘
#stty erase ^H #清除退格 (这个很有必要)
export PS1="[\[\e[0;36m\]\u\[\e[m\]@\[\e[0;32m\]\h \[\e[0;35m\]\W\[\e[m\]]\\\\$"
export HISTTIMEFORMAT="%F %T \`who -u am i 2>/dev/null|awk ‘{print \$NF}‘|sed -e ‘s/[()]//g‘\` \`whoami\` "
EOF
#########################################################
#vim配置:行号、快捷键输入文本、中文支持
cat >> ~/.vimrc <<-EOF
set autoindent
set nu
set tabstop=4
set shiftwidth=4
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
function AddTitle()
call setline(1,"#!/bin/bash")
call append(1,"#====================================================")
call append(2,"# Author: Mr.Song")
call append(3,"# Create Date: " . strftime("%Y-%m-%d"))
call append(4,"# Description: ")
call append(5,"#====================================================")
endf
map <F4> :call AddTitle()<cr>
EOF
#########################################################
#openssh优化:禁用DNS查询、禁用root账户使用密码登陆
sed -i -e ‘/#UseDNS/a\UseDNS no‘ -e ‘/#PermitRootLogin yes/a\PermitRootLogin prohibit-password‘ /etc/ssh/sshd_config
systemctl restart sshd
#########################################################
#防止暴力破解脚本
echo "*/1 * * * * root /root/auto_deny_ip_v1.sh" >> /etc/crontab
tail -n +$(awk ‘/^#!/{if(i){print NR;exit}i++}‘ $0) $0>auto_deny_ip_v1.sh
chmod +x auto_deny_ip_v1.sh
exit 0
#!/bin/bash
#Auto drop ssh failed IP address
#By author jfedu.net 2017
#Define Path variables
SEC_FILE=/var/log/secure
IP_ADDR=`awk ‘{print $0}‘ /var/log/secure|grep -i "fail"| egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk ‘$1>=1 {print $2}‘`
DENY_CONF=/etc/hosts.deny
TM1=`date +%Y%m%d%H%M`
DENY_IP="/tmp/2h_deny_ip.txt"
echo
cat <<EOF
++++++++++++++welcome to use ssh login drop failed ip+++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++------------------------------------++++++++++++++++++
EOF
echo
for ((j=0;j<=2;j++)) ;do echo -n "-";sleep 1 ;done
echo
for i in `echo $IP_ADDR`
do
cat $DENY_CONF |grep $i >/dev/null 2>&1
if [ $? -ne 0 ];then
grep "$i" $DENY_IP>>/dev/null 2>&1
if [ $? -eq 0 ];then
TM3=`date +%Y%m%d%H%M`
IP1=`awk -F"[#:]" ‘/‘$i‘/ {print $2,$4}‘ $DENY_IP|awk ‘{if(‘$TM3‘>=$2+2) print $1}‘`
if [ ! -z $IP1 ];then
echo "sshd:$IP1:deny #$TM1" >>$DENY_CONF
sed -i "/$IP1/d" $DENY_IP
fi
else
echo "sshd:$i:deny #$TM1" >>$DENY_CONF
fi
fi
done

#Allow IP to access
TM2=`date +%Y%m%d%H%M`
IP2=`awk -F"[#:]" ‘/sshd/ {print $2,$4}‘ $DENY_CONF|awk ‘{if(‘$TM2‘>=$2+2) print $1}‘`
for k in `echo $IP2`
do
echo $k
sed -i "/$k/d" $DENY_CONF
echo "sshd:$k:deny #$TM2" >>$DENY_IP
done

原文地址:http://blog.51cto.com/8460152/2318014

时间: 2024-11-04 04:08:25

linux个性化配置初始化脚本的相关文章

linux安全配置检查脚本_v0.8

脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部分: #! /bin/bash cat <<EOF ************************************************************************* linux安全配置扫描脚本: 1. 输出结果也可以在当前目录的out.txt中查看 2. 检查范围

Linux初始化脚本

以下脚本用于linux系统的初始化脚本,可以在服务器系统安装完毕之后立即执行.脚本结合各位大牛一些参数,已经在CentOS 5下通过. 使用方法:将其复制,保存为一个shell文件,比如init.sh.将其上传到linux服务器上,执行sh init.sh.建议大家在系统安装后立即执行. 脚本代码: #!/bin/bash # Configure yum source cd /tmp wget -c http://yum.baseurl.org/download/3.4/yum-3.4.3.ta

linux系统最小化安装后的初始化脚本

作为运维人员,经常会初始化系统,系统在安装过程中基本都会选择最小化安装,这样安装好的系统里会缺少很多环境. 下面分享一个系统安装后的初始化脚本: #!/bin/bash #系统时最小化安装的,这里要安装系统的软件库yum groupinstall -y "development tools" #创建目录[ ! -d /server/tools ] && mkdir -p /server/tools[ ! -d /application ] && mkdi

linux系统监控工具汇总及几个小脚本 , 系统初始化脚本

重要性能监测工具:top.vmstat.w.uptime.ps.free.iostat.netstat./proc等 需要监视Linux服务器的性能?大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题可能存在原因.下面讨论的是一些最基本的命令,它涉及到系统分析和调试服务器等一些问题,如:1.    找出系统瓶颈问题.2.    磁盘 (储存) 瓶颈问题.3.    CPU和内存瓶颈问题.4.    网络瓶颈问题.#

Linux -- Samba配置

Samba配置 Samba服务安装完成后,需要修改Samba服务配置文件以满足使用需求.Samba主配置文件为smb.conf,位于/etc/samba目录下.Samba服务配置基本流程如图6-2所示. 常规配置(1) 1.Samba服务启动.暂停 Samba属于System V服务,其启动.暂停相关命令如下. service smb start       #启动  service smb stop        #停止  service smb restart     #重新启动  serv

Linux安装配置MariaDB数据库全程详解

MariaDB在很多方面强于MySQL,在Linux下如何安装MariaDB数据库成为大家比较头疼的一个问题,下面用实例为大家讲解下 MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方面强于MySQL,那么在Linux下如何安装MariaDB数据库呢?下面小编就给大家介绍下Linux安装配置MariaDB数据库的方法. 说明: 操作系统:CentOS 5.10 32位 MariaDB版本:mariadb-5.5.33a MariaDB数据库存放目录:/data/mysql 准备

linux虚拟机配置

一.安装虚拟机 二.安装centOS 三.配置IP 1.先输入ifconfig查看网卡IP,lo是回环网卡,ifconfig -a查看真实网卡IP 2.dhclient #在有dhcp服务器的情况下,自动获取一个IP route #查看NETMASK(子网掩码)和GATEWAY(网段) vi /etc/sysconfig/network-scripts/ifcfg-eth0 #更改ONBOOT为yes(开机自动启动),BOOTPROTO改为static #静态IP IPADDR #IP地址 NE

LINUX VSFTP配置及安装

------------------转载:亲身实践,确实好用(http://www.cnblogs.com/jack-Star/p/4089547.html) 1.VSFTP简介 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点. 在速度方面,使用ASCII代码的模式下载数据时,VS

centos7初始化脚本

#!/bin/bash Author: guop centos7初始化脚本 PASSWD=passwordHOSTNAME=EIFMDNS1=119.29.29.29DNS2=223.5.5.5 cat << EOF+------------------------------------------------------------------+| ** Welcome to CentOS 7 System init ** |+-------------------------------