VOLPITI - Tecnologia da Informação
 
Busca
Tópicos
  Cadastre-se :: Hospedagem LinuxDicas :: Acessórios LinuxDicas :: Fórum LinuxDicas   

Usuários LinuxDicas
· AvantGO
· Backend XML (RSS)
· Contato/Publicidade
· Enviar Notícias/Artigos
· Fórum LinuxDicas
· Lista de Discussão
· Mensagens Privadas

Casa do Linux


Lista de Discussão
·[linuxdicas] quetão de linux
·Ferramenta de Backup
·redes
·Search Engine

Leia mais...

Artigos LinuxDicas
· Resistência ao Linux
· Guia para o Novato
· Licenciamento do SuSE
· Foca GNU/Linux - Iniciante
· Foca GNU/Linux - Intermediário
· Foca GNU/Linux - Avançadoe
· Curso C
· Outras Seções de Artigos

FAQ LinuxDicas
· Licença
· Servidores
· Ambiente X
· Hardware
· Instalação
· Internet
· Aplicativos
· Sistema
· StarOffice

Notícias Velhas
Segunda, abril 21
· MON - Monitorando a disponibilidade de serviços
Quinta, abril 17
· Últimos dias para Inscrições de Palestras no Flisol Campinas
· Acessando seus arquivos de sua máquina de qualquer computador do mundo
Terça, abril 15
· Artigo sobre o Moregroupware
Segunda, abril 14
· Análise do Mandriva Xtreme2 Pack
Terça, março 18
· Como migrar dados do msaccess para mysql
· A verdadeira razão para usarmos Linux
· usando o rsync 3.0.0 para fazer backup entre linux e xp
· Firefox3 : Como Instalar manualmente.
Sábado, fevereiro 09
· Configurando um DNS CHROOTED Primário e Reverso para o seu site.
Quinta, dezembro 27
· Censurando a internet com o OpenDNS
Domingo, outubro 14
· Bandwidth Monitoring Tools For Linux
Quinta, outubro 11
· Variáveis de ambiente
Quinta, agosto 02
· Rodando processos em múltiplos servidores, Cluster!!!
· Instalando XEN no seu Ubuntu/Debian
Domingo, junho 17
· Vovó, faz backup pra mim?
Quarta, junho 13
· Canetas: Idealismo Antártico
Quinta, junho 07
· CA confiável com certificados digitais
Domingo, junho 03
· Equações Matemáticas via Shell
Sábado, junho 02
· Permanent Link to Garimpar é preciso [2]: Confira seu e-mail

Notícias antigas

Versões Estáveis
· Kernel Linux
· *nix e *BSD ISOs da Unicamp
· Linux ISO
· FreeBSD Releases

Por: Flavio Torres <flaviotorres@linuxmasters.info>

Publicado em: 25/06/2006

 

Compilando Shell-Scripts

Quem não precisa ou já precisou desenvolver um script que contivesse usuário e senha? Tanto na administração de servidores web (terceirizados, onde você só tem acesso $usuario comum), como na administração de servidores locais, tarefas de backup de banco de dados ou scripts de monitoramento para agilizar a vida dos admins?

Certo, você deixa apenas com permissão de leitura e execussão ao root?
Excelente!
Mas... E se a máquina for invadida? Ou você esquecer o root "logado" porque teve que sair correndo para aquela reunião? Pronto adeus segurança...

Para os maníacos por segurança eis um cara chamado shc.

O SHC faz o favor de criar um binário do arquivo shell-script (no nosso exemplo), e de quebra ele te mostra o fonte .c do arquivo binário gerado, além de ter opção para expirar o script entre outros. :)

Download: http://www.datsi.fi.upm.es/%7Efrosal/

Instalação:

Descompacte em um diretório, lance o famoso make.

$ make
cc -Wall -O6 -pedantic shc.c -o shc
*** ¿Do you want to probe shc with a test script?
*** Please try... make test

Ele pedirá para executar os testes com um make test.

Caso obtenha algum erro, não sei se é em todos sistemas, você conseguirá testar com um:

$ ./shc -v -r -f match
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc match.x.c -o match.x
shc: strip match.x
		

Agora execute o binário

$ ./match.x
[22215] PAUSED... Hit return!

OK, ta rolando...

Obviamente, usuários Debian, podem naturalmente lançar um #apt-get install shc sem problemas.

Brincando com o shc

Script de teste:

#!/bin/bash
USER="abc"
SENHA="password"
echo -e "Ola\n usuario: $USER\n senha:$SENHA"

 

proxy:/home/linuxuser# ./teste
Ola
usuario: abc
senha:password

Ok, agora vamos compilar:

Antes disto, veremos algumas opções do shc:

    -e %s  Expiration date in dd/mm/yyyy format [none]
    -m %s  Message to display upon expiration ["Please contact your provider"]
    -f %s  File name of the script to compile
    -i %s  Inline option for the shell interpreter i.e: -e
    -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);
    -l %s  Last shell option i.e: --
    -r     Relax security. Make a redistributable binary
    -v     Verbose compilation
    -D     Switch ON debug exec calls [OFF]
    -T     Allow binary to be traceable [no]
    -C     Display license and exit
    -A     Display abstract and exit
    -h     Display help and exit
	  


proxy:/home/linuxuser# shc -r -v -f teste.sh
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc  teste.sh.x.c -o teste.sh.x
shc: strip teste.sh.x

proxy:/home/linuxuser# ./teste.sh.x
Ola
 usuario: abc
 senha:password
 

Excelente!!, caso tenha interesse você pode consultar o arquivo fonte teste.sh.x.c

Eu fiz os testes em 2 sistemas Debian e um Conectiva, o script funcionou sem problemas.
Detalhe: NÃO NECESSITA TER O SHC INSTALADO NAS OUTRAS MÁQUINAS PARA EXECUTAR O ARQUIVO GERADO.

Compilando um shell com data de expiração ( esta opção achei maravilhosa ):

linuxuser@proxy:~$ shc -v -e 24/06/2006 -m "Contate o desenvolvedor - flaviotorres@linuxmasters.info" -f teste.sh
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc  teste.sh.x.c -o teste.sh.x
shc: strip teste.sh.x

linuxuser@proxy:~$ ./teste.sh.x
./teste.sh.x has expired!
Contate o desenvolvedor - flaviotorres@linuxmasters.info


Bom, é isto, bom proveito.

 

Lista de Discussão


Notícias
· Arquivo de Notícias
· Enviar Notícias/Artigos
· Jornal de Usuários
· Recomende

Pesquisa
Por que você utiliza o squid como proxy server?

Porque é um software completo.
Porque a configuração é simples.
Porque possui um controle rigoroso nas regras
Porque não tenho condições de comprar um melhor
Porque todo mundo usa



resultados
Enquete

Votos: 117
Comentários: 51

Parceiros







Dica da semana
Ativando suporte a ReiserFS na instalação do Fedora/RedHat

Pra quem é chegado no ReiserFS "como eu" , e ficava na bronca pois na instalação do Fedora/RedHat ele não vem disponível por padrão saiba como habilitá-lo
Aqui

Seção Dicas Rápidas


Projetos Linux

Top10 Downloads
· 1: Red Hat
· 2: adam.html
· 3: Slackware
· 4: SMB-HOWTO-2.php
· 5: ~U Linux Network Administrator's Guide (2ª Ed.)
· 6: Slackware Linux Essentials
· 7: Using Samba
· 8: Manual Instal Debian 3 Intel X86.txt
· 9: PPP-Fácil
· 10: ~U MySQL Reference Manual

Publicidade



Copyright © 2002 - 2007 LinuxDicas - Todos Os Direitos Reservados.
LinuxDicas: lucas.martinez @linuxdicas.com.br
Web site engine's code is Copyright © 2003 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Tempo para gerar esta página: 0.063 segundos.