Script para configuração inicial do seu Linux
Publicado por Filippe (última atualização em 14/08/2009)
[ Hits: 12.388 ]
Homepage: www.hrstatus.com.br
Download script_inicializacao.sh
Este script é bastante simples, porém muito útil para mim e para quem instala máquinas virtuais para testes diariamente. Só o testei em CentOS.
Ele configura os parâmetros principais após o término da instalação como: ip, domínio, dns, data/hora e alguns itens a mais, no meu caso ele funciona perfeitamente, caso alguém sinta necessidade de alterá-lo, fique a vontade em adaptá-lo conforme suas necessidades. Ser live tem suas vantagens! :)
#!/bin/bash ##[ Ficha ]########################## # # Nome: script_inicializacao # # Escrito por: Spolti # # Criado em: 05/08/2009 # # Ultima atualizacao 07/08/2009 # ##[ Descricao ]######################## # # Script tem a finalidade de auxiliar a configuracao # de um sistema operacional Linux Centos # recem instalado. # ################################## opcao=" " num=" " var=" " # -- VOCE EH O ROOT? if test "$UID" != "0"; then echo "Voce nao e root, saindo " echo -n "`sleep 0.5`" exit 0 fi if [ ! -e /var/log/script_inicializacao.log ]; then echo -n "Script executado pela primeira vez, criando arquivos necessarios " `touch /var/log/script_inicializacao.log` fi echo "Scrip para configuracao inicial do sistema." echo -n "`sleep 0.3`" echo -n "Carregando informacoes " echo -n "`sleep 0.5`" echo -n " [ OK ]" echo "`sleep 0.3`" echo "Todas as alteracoes serao armazenadas em /var/log/script_inicializacao.log" echo -n "`sleep 0.3`" echo "Diretorio atual: `pwd`" echo -n "`sleep 0.3`" echo "Usuario logado: $USER" echo -n "`sleep 0.3`" echo "PID $$" echo -n "`sleep 0.3`" echo "Console $SSH_TTY" echo -n "`sleep 0.3`" var=$SSH_CLIENT echo "Logged from: `echo $var | sed 's/ /./g' | cut -d. -f1-4`" IP=`echo $var | sed 's/ /./g' | cut -d. -f1-4` datevar=`date` echo -n "`sleep 0.3`" `echo "O usuario $USER executou o script_inicializacao.sh em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` echo -n "Pressione Enter para continuar." read echo -n "Deseja setar hostname ? [s/n] > " read opcao if [ "$opcao" = "s" ]; then hostname=" " echo -n "Digite o hostname > " read hostname `echo NETWORKING=yes > /etc/sysconfig/network` `echo NETWORKING_IPV6=yes >> /etc/sysconfig/network` `echo HOSTNAME=$hostname >> /etc/sysconfig/network` `echo '# Do not remove the following line, or various programs' > /etc/hosts` `echo '# that require network functionality will fail.' >> /etc/hosts` `echo '127.0.0.1 localhost.localdomain localhost '$hostname'' >> /etc/hosts` `echo "O usuario $USER configurou hostname $hostname em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` elif [ "$opcao" = "n" ]; then `echo "O usuario $USER nao configurou hostname em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Sua rede possui proxy? [s/n] > " read opcao if [ "$opcao" = "s" ]; then ip=" " port=" " echo -n "Digite o ip [xxx.xxx.xxx.xxx] > " read ip echo -n "Digite a porta > " read port `echo 'jz/bin/bash' > temp` `cat temp | sed 's/jz/#!/g' >> temp` `awk 'FNR> 1' temp > /etc/profile.d/proxy.sh` `rm -rf temp` `echo export http_proxy='"'http://$ip:$port'"' >> /etc/profile.d/proxy.sh` `echo export ftp_proxy='"'http://$ip:$port'"' >> /etc/profile.d/proxy.sh` `echo export https_proxy='"'http://$ip:$port'"' >> /etc/profile.d/proxy.sh` `chmod u+x /etc/profile.d/proxy.sh` `source /etc/profile.d/proxy.sh` `echo "O usuario $USER configurou o proxy $ip na porta $port em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` elif [ "n" = "$opcao" ]; then `echo "O usuario $USER nao configurou proxy em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Deseja configurar DNS? [s/n] > " read opcao if [ "s" = "$opcao" ] ;then i=0 ipdns=" " dominio=" " echo -n "Quantos servidores possuem a rede? [1,2,...] > " read num echo -n "Digite o dominio > " read dominio `echo "O usuario $USER configurou dominio $dominio em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` `echo search $dominio > /etc/resolv.conf` while test "$num" -gt "$i" ; do echo -n "Digite o Ip do DNS Server [ xxx.xxx.xxx.xxx ] > " read ipdns `echo nameserver $ipdns >> /etc/resolv.conf` i=`expr $i + 1` `echo "O usuario $USER configurou o IP $ipdns como SERVER DNS em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` done else `echo "O usuario $USER nao configurou DNS e Dominio em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Deseja configurar Data? [s/n] > " read opcao if [ "$opcao" = "s" ]; then echo -n "Digite a hora/data no formato [ mm/dd/aaaa hh:mm ] > " read data echo " `date -s "$data"` " datevar=`date` `echo "O usuario $USER configurou data/hora para $data em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` else `echo "O usuario $USER nao configurou data/hora em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Deseja inserir um servidor NTP? [ s/n ] > " read opcao if [ "s" = "$opcao" ]; then ipntp=" " echo -n "Digite o IP do servidor NTP [ xxx.xxx.xxx.xxx ] > " read ipntp echo "`ntpdate -u -v $ipntp`" `echo "O usuario $USER configurou servidor NTP $ipntp em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` else `echo "O usuario $USER nao configurou servidor NTP em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Deseja criar cron para NTPdate? [ s/n ] > " read opcao if [ "s" = "$opcao" ]; then `echo "00-59/01 * * * * /usr/sbin/ntpdate -u -v $ipntp" > temp1` `crontab temp1` echo "O comando ntpdate foi inserido na cron, sera executado de 1 em 1 minuto." echo "pressione Enter para continuar" `rm -rf temp1` `echo "O usuario $USER configurou cron NTP em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` read else `echo "O usuario $USER nao configurou cron em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo -n "Deseja setar IP fixo ? [s/n] > " read opcao if [ "$opcao" = "s" ]; then ip=" " echo -n "Digite o IP [ xxx.xxx.xxx.xxx ] > " read ip echo -n "Digite a mascara [ xxx.xxx.xxx.xxx ] > " read mask echo -n "Difite o default gateway [ xxx.xxx.xxx.xxx ] > " read gw `echo '#Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]' > /etc/sysconfig/network-scripts/ifcfg-eth0` `echo DEVICE=eth0 >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo BOOTPROTO=none >> /etc/sysconfig/network-scripts/ifcfg-eth0` var=`ifconfig | head -1 | sed 's/ /#/g' | cut -d# -f11` `echo HWADDR=$var >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo IPV6_AUTOCONF=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo ONBOOT=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo NETMASK=$mask >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo IPADDR=$ip >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo GATEWAY=$gw >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo "O usuario $USER configurou o IP $ip $datevar logado na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` elif [ "$opcao" = "n" ]; then echo "Ip atribuito por DHCP" `echo '#Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]' > /etc/sysconfig/network-scripts/ifcfg-eth0` `echo DEVICE=eth0 >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo BOOTPROTO=dhcp >> /etc/sysconfig/network-scripts/ifcfg-eth0` var=`ifconfig | head -1 | sed 's/ /#/g' | cut -d# -f11` `echo HWADDR=$var >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo IPV6INIT=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo IPV6_AUTOCONF=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo ONBOOT=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo TYPE=Ethernet >> /etc/sysconfig/network-scripts/ifcfg-eth0` `echo "O usuario $USER atribuiu IP via DHCP em $datevar logado na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` fi echo "Para nao reiniciar o computador pressione Ctrl+c, " echo "porem e recomendavel reinicar." echo "Para reniciar tecle Enter." read echo -n "O computador sera reiniciado em 10 segundos para aplicar as configuracoes realizadas " for i in `seq 10` do clear echo "$i" `sleep 1` done `echo "Computador reiniciado por $USER em $datevar na console $SSH_TTY de $IP;" >> /var/log/script_inicializacao.log` `reboot`
Squid: configure com opções avançadas
Script de instalação de pacotes
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Preciso resolver um erro de DPKG (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta