[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Testes em variaveis
From: |
Marcus Vinicius |
Subject: |
Re: [shell-script] Testes em variaveis |
Date: |
Sun, 15 May 2005 21:47:57 -0300 (ART) |
É 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]