Quebra-Galho-Faz-tudo-Configurator
Publicado por julio cesar fais (última atualização em 25/10/2010)
[ Hits: 7.166 ]
Homepage: juliovarginha.blogspot.com
Download julio-conf-2.0-14092010.sh
Download julio3.0.sh (versão 2)
Várias opções para quem precisa configurar o Linux logo após a instalação...
Obs.: Deve ser executado como root e tem algumas dependências: zenity, airping e dd
Versão 2 - Enviado por julio cesar fais em 05/10/2010
Changelog: Versão básica usando o Zenity...
Atenção: execute "xhost +" e depois execute-o como root.
#!/bin/sh #ultima edição:15/09/2010 11:06 julio.tecnico@bol.com.br clear echo " Júlio César Fais Script Versão 2.0" sleep 1 echo " Verificando suas Permissões...." sleep 1 if [ `whoami` = "root" ]; then sleep 1 else clear echo " Acesso Negado para usuario `whoami`! Logue-se como root" sleep 5 clear exit fi clear echo ' |----------------------------------------------------------------------------------- | O QUE DESEJA FAZER? J | | \O/ U | | 1 - ADICIONAR DNS PADRAO | L | | 2 - CONFIGURAR PERMISSÕES - /etc/sudoers / \ I | | 3 - CONFIGURAR REDE O | | 4 - INSTALAR JAVA | | 5 - INSTALAR FLASH PLAYER C | | 6 - HABILITAR ACESSO REMOTO - SSH E | | 7 - INSTALAR PACOTES .DEB (Broffice,etc...) S | | 8 - BACKUP DE CONFIGURAÇÃO A | | 9 - VERIFICAR CONFLITO DE IP R | | 10 - INFORMAÇÕES DO SISTEMA | | 11 - CLONAR HD F | | 12 - APAGAR REGISTROS DE PLACAS DE REDES ANTERIORES A | | 13 - COMPARTILHAR CONEXÃO I | | 14 - AJUSTAR DATA/HORA S | | 15 - MONTAR PARTIÇÃO | | 16 - ALTERAR HOSTNAME | | 17 - SAIR | | | | DEPENDÊNCIAS: ZENITY,AIRPING,DD | | EXECUTE $xhost + | |-----------------------------------------------------------------------------------------------------------|' read alternativa case "$alternativa" in ####################################################### 1 ) clear echo "=> Copiando Para o arquivo /etc/resolv.conf" sleep 1 echo "nameserver 208.67.222.222" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/resolv.conf clear echo "DNS Configurado !" cat /etc/resolv.conf sleep 3 clear ;; ######################################################## 2 ) clear echo "Aguarde ...." sleep 1 clear `zenity --warning --text "ATENÇAO ESTA AÇAO DARA PODER DE ROOT AO USUARIO!!!" --title "AVISO DO JULIO!!!"` echo 'Para Qual usuario voce quer Habilitar o sudo? Ex.: kurumin, prefeitura ' sleep 1 read sudo echo "Adicionado usuario a /etc/sudoers." sleep 1 echo "$sudo ALL=(ALL) ALL" >> /etc/sudoers echo "$sudo ALL=NOPASSWD: ALL" >> /etc/sudoers sleep 2 clear echo "Concluido! O Usuario $sudo ja possui permissao de Administrador." sleep 2 clear ;; # ######################################################################################### 3 ) clear echo "Aguarde...Vericando os IP's ja configurados:" grep "address" /etc/network/interfaces > /tmp/tmp.txt cat /tmp/tmp.txt sleep 3 clear # cat /etc/network/interfaces # sleep 4 clear ################# inicio (){ echo 1 - IP Fixo echo 2 - DHCP echo 3 - RESTAURAR BKP echo 4 - IP TEMPORARIO read var case $var in 1) fixo;; 2) dhcp;; 3) bkp;; 4) temp;; *) clear; echo 'saindo do programa'; exit;; esac } ################## fixo (){ echo vc escolheu IP Fixo `zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"` sleep 1 clear echo 'Adicione suas interfaces... Ex.: eth0 eth0:0 eth0:1 eth0:2... obs.: use a 1ª interface para internet...' sleep 2 read int echo "Qual Ip da 1ª interface?" read ipa echo "Qual a Mascara da 1ª inetrface?" read masc echo "Qual o Gateway da 1ª interface?" read gw sleep 1 echo "auto lo $int" > /etc/network/interfaces echo "iface lo inet loopback" >> /etc/network/interfaces echo "iface $int inet static" >> /etc/network/interfaces echo "address $ipa" >> /etc/network/interfaces echo "netmask $masc" >> /etc/network/interfaces echo "gateway $gw" >> /etc/network/interfaces echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/network/interfaces clear /etc/init.d/networking stop /etc/init.d/networking start echo "! Pronto. Sua Rede Foi Configurada com sucesso." sleep 4 } ################## dhcp (){ `zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"` echo vc escolheu IP por DHCP sleep 2 clear echo 'Adicione sua interface... Ex.: eth0, eth1, wlan0...' sleep 1 read int echo "auto lo $int" > /etc/network/interfaces echo "iface lo inet loopback" >> /etc/network/interfaces echo "iface $int inet dhcp" >> /etc/network/interfaces echo "#configurado via script => JULIO <= julio.tecnico@bol.com.br" >> /etc/network/interfaces echo "Configurando...Aguarde..." sleep 2 clear /etc/init.d/networking stop /etc/init.d/networking start echo "! Pronto. Sua Rede DHCP Foi Configurada com sucesso. Veja:" sleep 4 cat /etc/network/interfaces sleep 5 clear } ################### bkp (){ `zenity --warning --text "ATENÇAO ESTA AÇAO IRA SOBRESCREVER O ARQUIVO ORIGINAL!!!" --title "AVISO DO JULIO!!!"` echo 'Qual o Arquivo?' b=`zenity --file-selection --title "Escolha o arquivo(interfaces)"` sleep 2 cp "$b" /etc/network/ clear echo "Reiniciando a Rede..." sleep 1 /etc/init.d/networking stop /etc/init.d/networking start clear echo "OK!" sleep 2 } #################### temp (){ echo "Qual a interface?" sleep 2 read dd echo "Qual o ip?" sleep 2 read aa echo "Qual a Mascara?" sleep 2 read bb echo "Qual o Gateway?" sleep 2 read cc ifconfig $dd $aa netmask $bb up route add default gw $cc } inicio clear ;; ########################################################################################### 4 ) clear java=`zenity --file-selection --title "Escolha o JAVA"` sleep 1 clear echo "Siga as instruçoes..." sleep 2 sudo $java sleep 6 clear echo "O JAVA foi instalado Corretamente" sleep 2 echo "Vamos adicionar um link pro navegador..." sleep 2 clear c=`zenity --directory --file-selection --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"` d=`zenity --file-selection --title "Escolha o plugin do java (ja instalado)"` sleep 2 cd $c/ ln -s $d echo "OK! Tudo Pronto! Vamos Testar" sleep 2 firefox 'http://www.java.com/pt_BR/download/help/testvm.xml' clear ;; ############################################################################################# 5 ) clear echo 'Instalando Flash PLayer agora... Qual o Caminho do Flash PLayer?' flash=`zenity --file-selection --title "Escolha o Flash Player (obs.: tem que estar Descompactado)"` d=`zenity --directory --file-selection --title "Escolha a pasta plugins do navegador.Ex.: /usr/lib/firefox-3.6.7/plugins/"` sleep 2 clear echo "Copiando Flash Player." sleep 2 cp -i -r $flash $d sleep 2 echo "Reinicie o Navegador ..." sleep 2 clear ;; ################################################################## 6 ) clear echo "Habilitando Serviço SSH..." sleep 2 update-rc.d -f ssh remove update-rc.d -f ssh defaults clear echo "Configure o VNC!" krfb sleep 2 clear ;; ################################################################# 7 ) clear e=`zenity --directory --file-selection --title "Escolha a pasta onde estao os arquivos .DEB"` cd $e/ dpkg -i *.deb echo "saindo..." sleep 2 ;; ################################################################## 8 )clear pasta=`zenity --directory --file-selection --title "Escolha a Pasta Para Salvar os Aquivos de Configuração"` echo " Qual o Usuario Esta o Backup" read userr clear echo " AGUARDE!!!" scp /etc/network/interfaces $pasta scp /etc/cups/printers.conf $pasta scp /home/$userr/.kde/share/config/kopeterc $pasta scp -r /home/$userr/.mozilla $pasta scp -r /home/$userr/.mozilla-thunderbird $pasta scp -r /home/$userr/.thunderbird $pasta scp -r /home/$userr/.firefox $pasta scp -r /home/$userr/.mozilla-firefox $pasta scp -r /home/$userr/.putty $pasta scp -r /etc/rc.local $pasta konqueror $pasta clear ;; ################################################################## 9) PATH="/bin:/usr/bin:/sbin:/usr/sbin" INTERFACE="eth0" which zenity > /dev/null 2>&1 [ $? -ne 0 ] && { echo "zenity: comando não encontrado."; exit 1 ; } which arping > /dev/null 2>&1 [ $? -ne 0 ] && { echo "arping: comando não encontrado."; exit 1; } while true do ip=$(zenity --title="Checa Conflito de IP" --entry --text "Endereço IP:") [ $? -ne 0 ] && exit $? validaIP() { local numero_ip=$1 # Suporte 'built-in' a ER's! legal... =) [[ $numero_ip =~ ^[0-9]{2,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] || return 1 local primeiro_octeto segundo_octeto terceiro_octeto quarto_octeto OLD_IFS=$IFS IFS="." set - $numero_ip primeiro_octeto=$1 segundo_octeto=$2 terceiro_octeto=$3 quarto_octeto=$4 IFS=$OLD_IFS # Checa o 2o octeto especifico de cada faixa case $primeiro_octeto in 10) [[ $segundo_octeto =~ ^0[0-9][0-9]? ]] && return 1 # Invalida tipos '0x' ou '0xx' (( segundo_octeto >= 0 && segundo_octeto <= 255 )) || return 1 ;; 172) (( segundo_octeto >= 16 && segundo_octeto <= 31 )) || return 1 ;; 192) (( segundo_octeto == 168 )) || return 1 ;; *) return 1 esac # Ja que o 3o e 4o octetos sao comuns as tres faixas [[ $terceiro_octeto =~ ^0[0-9][0-9]? ]] || [[ $quarto_octeto =~ ^0[0-9][0-9]? ]] && return 1 (( terceiro_octeto >= 0 && terceiro_octeto <= 255 )) || return 1 (( quarto_octeto >= 0 && quarto_octeto <= 255 )) || return 1 } # validaIP $ip # [ $? -eq 1 ] && { zenity --error --text "Endereço IP inválido!" ; continue ; } break done ping -c 3 $ip > /dev/null 2>&1 retval=$? if [ $retval -eq 1 ] then zenity --error --text "$ip\nHost de destino inalcansável!" exit 1 fi arping -D -I $INTERFACE -c 3 $ip > /dev/null 2>&1 retval=$? if [ $retval -eq 0 ] then zenity --warning --text "$ip\nConflito de IP detectado." exit 1 else zenity --info --text "$ip\nNenhum problema encontrado." exit 0 fi ;; ################################################################## 10 ) clear echo "Versão do kernel:" uname -a cat /etc/issue #echo ------------------------------------------------ echo "Os usuários logados:" who echo ' ' echo "Hostname:" uname -n echo ' ' echo "Memória disponivel:" free -m echo ' ' echo "Espaço em disco:" df ;; ################################################################## 11 ) clear # Efetua clonagem de discos # # Depende: dd # ###################################################### echo ' --------------------------------- 1 ) Clonar HD inteiro; 2 ) Clonar Particao; 3 ) Criar imagem de HD; 4 ) Montar Particao; 5 ) Verificar HD com GParted; 6 ) Sair sem fazer nada; ---------------------------------' read alternativa case "$alternativa" in 1 ) echo "Aguarde ..." sleep 1 echo "=> Verficando unidades de discos agora." echo " " sleep 3 clear echo "Discos encontrados :" unidade=`fdisk -l | grep Disk` echo "---------------------------------------------------------------------------------" echo "=> Veja as unidades, tamanho e ID abaixo:" echo "$unidade" echo " " echo "---------------------------------------------------------------------------------" fdisk -l | grep Linux echo "---------------------------------------------------------------------------------" echo ' OBS.! Para discos inteiros escreva o nome das unidades sem o numero ' echo " " echo 'Exemplo.: 1 Disco para disco: origem=/dev/sda destino=/dev/sdb' echo " " echo "Qual o disco de origem ?" read origem echo "Qual o disco de destino ?" read destino echo " " sleep 3 clear echo "=> Iniciando a clonagem agora. Seja paciente." dd if=$origem of=$destino echo " " echo -e "\a" sleep 2 echo -e "\a" sleep 1 echo -e "\a" echo "! Pronto. Seu disco foi clonado com sucesso." sleep 4 clear ;; # 2 ) echo "Aguarde ...." sleep 2 clear echo 'De Particao para Particao: Ex.: origem=/dev/sda1 destino=/dev/sda-Nº da particao' sleep 1 echo "Efetuando clonagem de particao agora. Informe a origem e o destino." sleep 1 echo "Qual a particao de origem ?" read porigem echo "Qual a particao de destino ?" read pdestino echo " " sleep 3 clear echo "=> Iniciando a clonagem agora. Seja paciente." dd if=$porigem of=$pdestino echo " " echo -e "\a" sleep 2 echo -e "\a" sleep 1 echo -e "\a" echo "! Pronto. Seu particao foi clonada com sucesso." sleep 4 clear ;; # 3 ) echo "Aguarde..." clear sleep 2 echo "=> Verficando unidades de discos agora." echo " " sleep 3 clear echo "Discos encontrados :" unidade=`fdisk -l | grep Disk` echo "---------------------------------------------------------------------------------" echo "=> Veja as unidades, tamanho e ID abaixo:" echo "$unidade" echo " " echo "---------------------------------------------------------------------------------" fdisk -l | grep Linux echo "---------------------------------------------------------------------------------" sleep 2 echo "Criando imagem de disco agora... Informe a unidade." sleep 1 echo "Escreva o nome do disco a ser feita a imagem" read disco echo "Indique o diretorio onde devo guardar a imagem" read diretorio echo "Como gostaria de chamar o arquivo ?" read arquivo sleep 2 clear echo "=> Iniciando a clonagem agora. Seja paciente." dd if=$disco of=$diretorio/$arquivo.img echo " " echo -e "\a" sleep 2 echo -e "\a" sleep 1 echo -e "\a" echo "! Pronto. Sua imagem foi gerada com sucesso." sleep 4 clear ;; 4 ) echo "Montando agora..." sleep 1 clear echo "Qual particao devo montar ?" read particao if [ -d "/tmp/PARTICAO/$$" ]; then echo "Montando "$particao" em /tmp/PARTICAO" else echo "Vou criar um diretorio temporario para montagem" mkdir /tmp/PARTICAO/ echo "Sua particao e de um sistema windows ? sim/nao" read sistema if [ "sistema" = "sim" ]; then mount -t ntfs-3g $particao /tmp/PARTICAO/ else mount $particao /tmp/PARTICAO/ fi echo "Sua particao foi montada em /tmp/PARTICAO/" fi ;; 5 ) echo "Abrindo GParted agora..." if [ -e "/usr/bin/gparted" ]; then sleep 2 echo "GParted encontrado. Abrindo agora." sleep 2 /usr/bin/gparted else echo "O Gparted nao foi encontrado..." fi ;; 6 ) echo "Saindo agora..." sleep 2 clear ;; *) echo "Ops.! alternativa errada." sleep 2 echo "Escolha 1,2,3,4 ou 5" sleep 4 clear ;; # esac ;; ################################################################## 12 ) clear echo "=> Apagando MAC'S Antigas do arquivo... /etc/udev/rules.d/70-persistent-net.rules" echo "#configurado via script => JULIO 2.0<=" > /etc/udev/rules.d/70-persistent-net.rules echo "OK...Reinicie o Micro Para que Possa Reconhecer a(s) Placa(s) de Rede." sleep 3 ;; ################################################################## 13 ) clear echo "Qual a interface Voce Quer Compartilhar?" sleep 2 read compartilhar echo "Quer Manter Fixo Este Compartilhamento? sim/nao" sleep 2 read sn sleep 1 if [ $sn = sim ]; then echo "modprobe iptable_nat" >> /etc/rc.local echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local echo "iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE" >> /etc/rc.local echo "exit 0" >> /etc/rc.local echo "#configurado via script => JULIO 2.0<=" >> /etc/rc.local modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE sleep 1 else modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $compartilhar -j MASQUERADE fi ;; ################################################################## 14 ) clear echo "Que Horas São? Ex.: 1230, HHMM (não Use os 2 Pontos ":")" read hora echo "Qual a Dia é Hoje?" read dia echo "Qual o Mês?" read mes echo "Qual o Ano?" read ano date $mes$dia$hora$ano clear echo "Data e Hora Ajustadas." sleep 3 ;; ################################################################## 15 ) clear echo "Será Aberto o Cfdisk" sleep 2 clear cfdisk fdisk -l echo "Qual Partição Deseja Montar?" read part echo "Qual o Formato? ext3,Reiserfs,vfat,ntfs-3g" read format mkdir /media/$part mount -t $format /dev/$part /media/$part echo "Sua Partição Foi Montada em: /media/$part" konqueror '/media/' clear umount /dev/$part echo " Sua Partição Foi Desmontada." sleep 2 ;; ################################################################## 16) clear echo " Hostname Atual:" cat /etc/hosts sleep 2 clear echo "Qual o Novo Hostname?" read hostname echo "127.0.0.1 localhost" > /etc/hosts echo "127.0.1.1 $hostname" >> /etc/hosts echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/hosts echo "$hostname" > /etc/hostname echo "#configurado via script => JULIO 2.0<= julio.tecnico@bol.com.br" >> /etc/hostname echo " Concluído...Hostname Alterado" sleep 3 ;; ################################################################## 17) clear echo " Júlio César Fais Good Bye :-] ... Saindo ... julio.tecnico@bol.com.br" sleep 3 clear ;; ################################################################## *) clear echo " Alternativa errada! Escolha Opçoes de 1 a 17." sleep 4 clear ;; esac
NÓtinha - Gerador de notas fiscais para empresas
Configuração de rede wireless (WPA)
Instalar splashtop em um pendrive
Adicionando Chaves de Repositórios Facilmente
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
Visualizar a árvore de arquivos no terminal
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Melhorando a precisão de valores flutuantes em python[AJUDA] (10)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (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