系统初始化脚本可以统一、自动配置,减少人力。

这里浅谈一下yum安装与源码编译安装,请各位不吝指正。我一直坚持yum安装,原因如下

一、安装方便,不需要再花精力考虑依赖问题

二、配置统一,方便后期维护,自动化等

三、方便升级

四、好吧,我是菜鸡,我承认了j_0039.gif

唯有业务明确需要某新功能,才会使用源码安装。关于这点,和尘缘的观点类似,详见其博文

#!/bin/bash 
# 

#Change yum source 
rpm -Uvh  http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
sed -i '1,10{s/^#//g;s/^mirrorlist/#mirrorlist/g;}' /etc/yum.repos.d/epel.repo
yum clean all 
yum makecache 

#Set wrong password lock
sed -i '1a auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=300' /etc/pam.d/sshd
 
#Install tools&update system 
yum -y install vim htop ntpdate wget
yum -y groupinstall "development tools" "develoment libraries "
yum -y update 
echo "0 0 * * * /usr/bin/yum -y update > /dev/null" >> /var/spool/cron/root

#Selinux 
setenforce 0 
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config 

#Time 
ntpdate ntp.api.bz 
hwclock -w  
echo "*/15 * * * * /usr/sbin/ntpdate ntp.api.bz > /dev/null" >> /var/spool/cron/root

#Record command 
sed -i 's/^HISTSIZE=.*$/HISTSIZE=100/' /etc/profile 
echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });user=\$(whoami); echo \$(date \"+%Y-%m-%d %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> /tmp/\`hostname\`.\`whoami\`.history-timestamp'" >> /root/.bash_profile 

#Iptables 
service iptables stop && chkconfig iptables off

简单解释如下:

①Set wrong password lock 请谨慎使用,我设置的是所有用户(含root),密码错误超过5次会被锁定,当服务器被人恶意登录时会导致管理员也不能登录,必须通过tty方式登录。我会在稍后的博文中通过脚本方式ban掉恶意登录的IP

②Record command会记录用户登陆后所做的更改,方便稽核,路径 /tmp/\`hostname\`.\`whoami\`.history-timestamp

③内部服务器关闭防火墙,安全措施需要在硬件防火墙上做。

如有错误,请各位不吝指正。