shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Testes em variaveis


From: Tiago Peczenyj
Subject: Re: [shell-script] Testes em variaveis
Date: Sun, 15 May 2005 21:52:38 -0300

Ok, então o usuario da um Ctrl+C e ganha um prompt de root ?

Tipo, mesmo que vc coloque um trap para pegar o sinal de CTRL+C ainda
sim é risco demais...um rm -rf / ja acaba com tudo.

não é mais facil guardar em uma conta e mandar por email a lista ?

Em 15/05/05, Marcus Vinicius<address@hidden> escreveu:
>  É exatamente este o problema, O usuário estará como root no momento da
> execução, 
>  
>  Digamos que no inicio do arquivo haja alguns comandos simples:
>  
>  groupadd $login
>  useradd $login -g $login -d /www/$login -s /bin/false
>  sed '/'$login'/Id' /etc/shadow > /etc/shadownew
>  mv -f shadownew shadow
>  cat /home/marcusv/shadow.txt >> /etc/shadow
>  
>  Se a vaiavel login tiver um texto, provávelmente ocorrerá um desastre no
> shadow ou no passwd.
>  
>  Pois após a primeira quebra de linha o script executa os comandos com dados
> completamente incorretos e fora do padrão do arquivo.
>  
>  Mas valeu pela ajuda, vou melhorar não o script em si, mas sim algumas
> medidas de segurança, quem pode executa-lo e como, 
>  Obrigado amigo.
>  Abraços
> 
>  
>  
>  Tiago Peczenyj <address@hidden> escreveu:
>  como vc vai rodar este script ?
>  
>  Tipo, que medidas de segurança vc vai tomar... 
>  
>  Agora entendi o seu problema, mas o usuario que fizer isso vc não pode
>  cortar a conta ?
>  Afinal ta sabotando o sistema... pense nisso.
>  
>  Em 15/05/05, Tiago Peczenyj<address@hidden> escreveu:
>  > echo $VARIAVEL | cut -f1 -d\n  | cut -f1 -d\   (nesse ultimo é \ mais
>  > um espaco em branco)
>  > 
>  > Creio que isto resolve os problemas.
>  > 
>  > Em 15/05/05, Marcus Vinicius<address@hidden> escreveu:
>  > >  Oi amigo,
>  > >  O problema do espaço em branco eu resolvi com o grep. Feito e
> Obrigado.
>  > >
>  > >  Agora imagine a situação do segundo problema:
>  > >
>  > >  Eu tenho um script que pede para o usuário digitar um nome: 'read
> nome'.
>  > >  Se por exemplo o usuário copiar um texto de um editor e colar na
> janela do
>  > > console (estamos utilizando ssh com putty), no momento que o script
> está
>  > > lendo a variavel,  o script le a primeira linha e como existe um \n ele
>  > > pensa que a variavel já acabou, executa todos os comandos abaixo, e
> finaliza
>  > > o script digitando as outras linhas no console como se fossem comandos.
>  > >
>  > >  Porem isso gera um problema, se eu por exemplo estou manipulando o
>  > > /etc/shadow ele irá danificar meu arquivo com esses \n que não poderiam
> ter
>  > > sido inseridos,
>  > >
>  > >  Essa é minha dúvida, há como eu tratar/impedir no próprio script que
> uma
>  > > variavel seja lida desta forma, ou seja com varias "quebras de linha"
> ao
>  > > inves de uma só palavra que é o correto em meu caso?
>  > >
>  > >  O que eu preciso é justamente que meu script identifique isso, se eu
> tentar
>  > > ler um nome com uma só palavra e o usuário "colar" na hora da execução
> por
>  > > exemplo:
>  > >
>  > >  "
>  > >  historinha
>  > >  Era uma vez chapelzinho vermelho
>  > >  Que olhos grandes vovozinha
>  > >  Puxa que boca grande vovozinha
>  > >  ahhhhh
>  > >  "
>  > >  O script certamente não funcionará como desejo.
>  > >
>  > >  Agradeço se alguem tiver alguma sugestão.
>  > >  Abraços
>  > >  Vinicius
>  > >
>  > >  Tiago Peczenyj <address@hidden> escreveu:
>  > >
>  > >  Teste com o GREP
>  > >
>  > >  Em 14/05/05, Marcus Vinicius<address@hidden> escreveu:
>  > >  >  Pessoal,
>  > >  >
>  > >  >  Preciso fazer uma validação num script que recebe uma variavel e
>  > > verifica
>  > >  > se está variavel possui um \n, por exemplo, ou um espaço.
>  > >  >
>  > >  >  Digamos que eu peça para entrar um nome. O padrão seria: vinicius,
>  > > joaquin,
>  > >  > bianca, maria, etc,,, Ou seja só pode ter um nome.
>  > >  >
>  > >  >  Se o usuário digitar: "jose maria", ou se ele digitar um texto no
> lugar
>  > > do
>  > >  > nome com quebras de linhas: eu interrompo o script.
>  > >  >
>  > >  >  Alguem sabe que opções eu posso utilizar num if por exemplo, ou
> qualquer
>  > >  > outra forma de verificação que eu atinja o resultado esperado?
>  > >  >
>  > >  >  Abraços.
>  > >  >  &:-)
>  > >  >
>  > >  >
>  > >  >
>  > >  >  __________________________________________________
>  > >  >  Converse com seus amigos em tempo real com o Yahoo! Messenger
>  > >  >  http://br.download.yahoo.com/messenger/
>  > >  >
>  > >  >  [As partes desta mensagem que não continham texto foram removidas]
>  > >  >
>  > >  >
>  > >  >
>  > >  >
>  > >
> ---------------------------------------------------------------------
>  > >  >  Esta lista não admite a abordagem de outras liguagens de
> programação,
>  > > como
>  > >  > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
>  > > prévio
>  > >  > aviso.
>  > >  >
>  > >
> ---------------------------------------------------------------------
>  > >  >  Sair da lista:
>  > > address@hidden
>  > >  >
>  > >
> ---------------------------------------------------------------------
>  > >  >  Esta lista é moderada de acordo com o previsto em
>  > >  > http://www.listas-discussao.cjb.net
>  > >  >
>  > >
> ---------------------------------------------------------------------
>  > >  >
>  > >  >
>  > >  >
>  > >  >  ________________________________
>  > >  >  Links do Yahoo! Grupos
>  > >  >
>  > >  >
>  > >  > Para visitar o site do seu grupo na web, acesse:
>  > >  > http://br.groups.yahoo.com/group/shell-script/
>  > >  >
>  > >  > Para sair deste grupo, envie um e-mail para:
>  > >  > address@hidden
>  > >  >
>  > >  > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço do
>  > >  > Yahoo!.
>  > >
>  > >
>  > >
> ---------------------------------------------------------------------
>  > >  Esta lista não admite a abordagem de outras liguagens de programação,
> como
>  > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
>  > > aviso.
>  > >
> ---------------------------------------------------------------------
>  > >  Sair da lista:
> address@hidden
>  > >
> ---------------------------------------------------------------------
>  > >  Esta lista é moderada de acordo com o previsto em
>  > > http://www.listas-discussao.cjb.net
>  > >
> ---------------------------------------------------------------------
>  > >
>  > >
>  > >
>  > >
>  > >  ---------------------------------
>  > >  Links do Yahoo! Grupos
>  > >
>  > >     Para visitar o site do seu grupo na web, acesse:
>  > >  http://br.groups.yahoo.com/group/shell-script/
>  > >
>  > >     Para sair deste grupo, envie um e-mail para:
>  > >  address@hidden
>  > >
>  > >     O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço
>  > > do Yahoo!.
>  > >
>  > >
>  > >  __________________________________________________
>  > >  Converse com seus amigos em tempo real com o Yahoo! Messenger
>  > >  http://br.download.yahoo.com/messenger/
>  > >
>  > >  [As partes desta mensagem que não continham texto foram removidas]
>  > >
>  > >
>  > >
>  > >
>  > >
> ---------------------------------------------------------------------
>  > >  Esta lista não admite a abordagem de outras liguagens de programação,
> como
>  > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
>  > > aviso.
>  > >
> ---------------------------------------------------------------------
>  > >  Sair da lista:
> address@hidden
>  > >
> ---------------------------------------------------------------------
>  > >  Esta lista é moderada de acordo com o previsto em
>  > > http://www.listas-discussao.cjb.net
>  > >
> ---------------------------------------------------------------------
>  > >
>  > >
>  > >
>  > >  ________________________________
>  > >  Links do Yahoo! Grupos
>  > >
>  > >
>  > > Para visitar o site do seu grupo na web, acesse:
>  > > http://br.groups.yahoo.com/group/shell-script/
>  > >
>  > > Para sair deste grupo, envie um e-mail para:
>  > > address@hidden
>  > >
>  > > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
> do
>  > > Yahoo!.
>  >
>  
>  
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
>  
>  
>  
>  ---------------------------------
>  Links do Yahoo! Grupos
>  
>     Para visitar o site do seu grupo na web, acesse:
>  http://br.groups.yahoo.com/group/shell-script/
>    
>     Para sair deste grupo, envie um e-mail para:
>  address@hidden
>    
>     O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
> do Yahoo!. 
>  
>  
>              
>  ---------------------------------
>  Yahoo! Mail: agora com 1GB de espaço grátis. Abra sua conta!
>  
>  [As partes desta mensagem que não continham texto foram removidas]
>  
>  
>  
> 
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
>  
>  ________________________________
>  Links do Yahoo! Grupos
>  
>  
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>   
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>   
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]