#!/bin/bash # # centos_install.sh # Script para realizar padronização do Linux CentOS # http://downloads.fabriciovc.eti.br/install/centos_install.sh # # Fabricio Vaccari Constanski | fabriciovc@fabriciovc.eti.br # v1.0 20081022, FabricioVC - Versão inicial # v1.1 20110222, FabricioVC - Atualizações de cores e comandos # v1.2 20110314, FabricioVC - Padronização para uso de CentOS # v1.3 20110331, FabricioVC - Correção de algumas falhas em HOSTNAME e cron # v1.4 20110509, FabricioVC - Alterado adição de comandos do cron e adicionado # configuracao auto do sysctl. # # Creative Commons # Atribuicao-Compartilhamento pela mesma Licenca 3.0 Brasil. # http://creativecommons.org/licenses/by/3.0/br/ # # Você tem a liberdade de: # * Compartilhar: copiar, distribuir e transmitir a obra. # * Remixar: criar obras derivadas. # # Sob as seguintes condições: # * Atribuição: Você deve creditar a obra da forma especificada ao autor # * Aviso: Para qualquer reutilização ou distribuição, você deve deixar claro # a terceiros os termos da licença a que se encontra submetida esta # obra. A melhor maneira de fazer isso é com um link para a página # http://creativecommons.org/licenses/by/3.0/br/. #=============================================================================# #== COMANDOS =================================================================# CAT=$(which cat) CRONTAB=$(which crontab) DATE=$(which date) ECHO="$(which echo) -e" HWCLOCK=$(which hwclock) MKDIR=$(which mkdir) MV=$(which mv) NTPDATE=$(which ntpdate) REBOOT=$(which reboot) RM=$(which rm) SED=$(which sed) SLEEP=$(which sleep) SYSCTL=$(which sysctl) SH=$(which sh) YUM=$(which yum) WGET=$(which wget) #== HABILITANDO CORES NO SHELL ===============================================# CINZA="\033[01;30m" VERMELHO="\033[01;31m" # Usado para mensagens de falha VERDE="\033[01;32m" # Usado para mensagens de sucesso AMARELO="\033[01;33m" # Usado para mensagens de alerta AZUL="\033[01;34m" # Usado para mensagens de informacao ROXO="\033[01;35m" CIANO="\033[01;36m" BRANCO="\033[01;37m" # Usado para perguntas FECHA="\033[m" # Usado para finalizar o uso de cores #== FUNCAO DE STATUS DE COMANDOS =============================================# Status () { if [ $? -eq 0 ]; then echo -e " ... [${VERDE}Concluido${FECHA}]" else echo -e " ... [${VERMELHO}Falhou${FECHA}]" fi } #== AJUSTANDO O SISTEMA ======================================================# # Ajustando o nome do servidor echo ${ECHO} -n "${BRANCO}Nome do servidor (opcional):${FECHA} " read SERVERNAME if [ "$SERVERNAME" != "" ]; then ${ECHO} -n "Ajustando o /etc/sysconfig/network" ${SED} '/^HOSTNAME/d' /etc/sysconfig/network > /etc/sysconfig/network.tmp && \ echo "HOSTNAME=${SERVERNAME}" >> /etc/sysconfig/network.tmp && \ ${CAT} /etc/sysconfig/network.tmp > /etc/sysconfig/network Status fi # Atualizando o sistema completo ${ECHO} -n "Atualizando o sistema ... isso pode demorar" $YUM -y update Status # Instalando pacotes adicionais necessarios ${ECHO} -n "Instalando pacotes adicionais necessarios" $YUM -y install bzip2 gcc cpp kernel-headers mailx mutt nmap ntp pciutils postfix sysstat system-config-date \ unzip vim-common vim-enhanced vim-minimal yum-utils xfsprogs zip Status # Ajustando o /etc/sysctl.conf ${ECHO} -n Ajustando o /etc/sysctl.conf ${SED} 's/kernel.sysrq = 0/kernel.sysrq = 1/g' /etc/sysctl.conf > /tmp/sysctl.conf && \ ${CAT} /tmp/sysctl.conf > /etc/sysctl.conf && ${SYSCTL} -p Status # Ajustando o ~/.bashrc ${ECHO} -n "Ajustando o ~/.bashrc" $CAT < /root/.bashrc # .bashrc # User specific aliases and functions alias ls='ls --color=auto' alias ll='ls --color=auto -lah' alias l='ls --color=auto -lh' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias df='df -hT' alias vi='vim' alias grep='grep --color=auto' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi EOF Status # Desabilitando alguns serviços ${ECHO} -n "Desabilitando alguns serviços" #if [ -f /etc/rc3.d/kudzu ]; then ${CHKCONFIG} kudzu off; fi; \ if [ -f /etc/rc3.d/ip6tables ]; then ${CHKCONFIG} ip6tables off; fi; \ #if [ -f /etc/rc3.d/iptables ]; then ${CHKCONFIG} iptables off; #fi; \ if [ -f /etc/rc3.d/cups ]; then ${CHKCONFIG} cups off; fi; \ if [ -f /etc/rc3.d/bluetooth ]; then ${CHKCONFIG} bluetooth off; fi; \ #if [ -f /etc/rc3.d/sendmail ]; then ${CHKCONFIG} sendmail off; fi Status # Desabilitando o lixo do selinux ${SED} -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # Ajustando o crontab ${ECHO} -n "Ajustando o crontab" $CAT <> /etc/crontab # System Rules 0 */6 * * * root /usr/sbin/ntpdate pool.ntp.br 0 */12 * * * root /usr/bin/updatedb EOF Status exit 0