Nao sabia desta solucao Carlos, obrigado!

Nao terei como testar de imediato, pois o script que fiz usando o exec 
foi de um emprego anterior.
Mas na proxima vez tentarei essa solução que achei mais elegante. =)

Abs, fica com Deus. Valeu pela dica!

Daniel Carlos wrote:
>
> Armadilha?? Não tem armadilha nenhuma!!!
> Essa é a forma mais comum de implementação quando o objetivo é
> restringir o acesso do usuário ao shell ou substituí-lo por um script
> específico.
>
> E não tem problema algum o usuário perceber que o shell dele foi 
> substituído.
>
> Bom, mas essa diversidade de soluções no mundo Unix é o que me fascina
> e cada um deve usar aquilo que melhor lhe convier, não é mesmo??!!
>
> Abraços,
> Daniel Carlos
> RHCE, LPIC-3
>
> Em 16/11/09, Alan Messias<[email protected] 
> <mailto:alancordeiro%40gmail.com>> escreveu:
> > Levando em consideração que o arquivo passwd é visível por todos os
> > usuários,
> > seria mais fácil de ele descobrir essa armadilha se usasse esse arquivo.
> >
> > Embora a solução com o passwd funcione, eu ainda optaria pera 
> solução com o
> > exec.
> >
> > Abraços,
> >
> > 2009/11/16 Daniel Carlos <[email protected] 
> <mailto:daniel.carlos%40gmail.com>>
> >
> >>
> >>
> >> Olá Marcus,
> >>
> >> A solução com o exec é interessante, mas você poderia ter resolvido 
> o seu
> >> problema simplesmente definindo no passwd que o shell do seu 
> usuário é o
> >> seu
> >> script. Dessa forma, assim que ele logasse, o seu script seria 
> executado e
> >> o
> >> usuário não teria um shell disponível ao cancelar a execução do script.
> >>
> >> Abraços,
> >>
> >> Daniel Carlos
> >> RHCE, LPIC-3
> >>
> >>
> >> 2009/11/14 Marcus Thiago Lages Duarte <[email protected] 
> <mailto:marcus_rj021%40yahoo.com.br>>
> >>
> >>
> >>>
> >>> Excelente explicacao do conrado. Acrescentando um exemplo prático do
> >>> comando exec que me foi extremamente útil há um tempo atrás.
> >>>
> >>> Eu precisava colocar um usuário dentro de um script interativo ao 
> fazer
> >>> logon via ssh, após terminar o script o usuário era desconectado da
> >>> sessao.
> >>> O usuário não poderia em momento algum ter acesso ao shell, so deveria
> >>> executar o script e sair.
> >>> Beleza, coloquei o script dentro do .bashrc para executar no logon, so
> >>> que
> >>> tinha um detalhe, o usuário poderia apertar control-c a qualquer 
> momento
> >>> e
> >>> sair do script e com isso ter acesso ao shell, o que eu realmente nao
> >>> queria.
> >>> Solução? coloquei o script utilizando o exec antes. Tipo -> exec
> >>> /bin/myscript. Pronto! Agora caso o usuário fosse espertinho e 
> digitasse
> >>> control-c ele simplesmente era expulso do logon, já que meu script 
> com o
> >>> "exec" na frente deixou de ser um processo filho do bash, mas passou a
> >>> ser o
> >>> real (único) shell do usuário.
> >>>
> >>> Abs!
> >>>
> >>> --- Em *qua, 11/11/09, Conrado Pinto Rebessi
> >>> <[email protected] <mailto:conradopinto%40gmail.com>>*escreveu:
> >>>
> >>>
> >>> De: Conrado Pinto Rebessi <[email protected] 
> <mailto:conradopinto%40gmail.com>>
> >>> Assunto: Re: [lpi] comado exec
> >>> Para: [email protected] <mailto:lpi%40yahoogrupos.com.br>
> >>> Data: Quarta-feira, 11 de Novembro de 2009, 22:58
> >>>
> >>>
> >>>
> >>> Da pagina de manual do bash(1), lah pela linha 3150...
> >>>
> >>> exec [-cl] [-a name] [command [arguments]]
> >>> If command is specified, it replaces the shell. No
> >>> new process is created
> >>> traduzindo: Se um comando é especificado, ele toma o lugar do 
> shell. Não
> >>> é
> >>> criado um novo processo.
> >>> Basicamente, vc tem q pensar em gerencia de processos. O normal, 
> qdo vc
> >>> chama um comando, o kernel "forka" (termo bonito, nao?) um novo 
> processo,
> >>> ou
> >>> seja, o bash q vc tava usando continua existindo e eh criado um novo
> >>> processo. Qdo vc usa o exec, o processo q vc chamou toma o lugar 
> do bash.
> >>>
> >>> Olha o exemplo:
> >>>
> >>> Sem exec:
> >>> $ pstree -p | grep -B 1 pstree
> >>> |-bash(5593) -+-bash(5620)
> >>> | `-pstree(5619)
> >>> conr...@conrado- tablet:~$ ksh
> >>> $ pstree -p | grep -B 1 pstree
> >>> |-bash(5593) ---ksh(5621) -+-grep(5623)
> >>> | `-pstree(5622)
> >>>
> >>> Com exec:
> >>> $ pstree -p | grep -B 1 pstree
> >>> |-bash(5563) -+-grep(5581)
> >>> | `-pstree(5580)
> >>> $ exec ksh
> >>> $ pstree -p | grep -B 1 pstree
> >>> |-ksh(5563)- +-grep(5584)
> >>> | `-pstree(5583)
> >>>
> >>>
> >>> Ajudei?
> >>>
> >>> []'s
> >>>
> >>> Conrado
> >>>
> >>> 2009/11/10 Wairisson <wgom...@yahoo.
> >>> com.br<http://mc/[email protected] 
> <http://mc/[email protected]>>
> >>> >
> >>>
> >>>>
> >>>>
> >>>> alguém pode me dar uma descrição mais tangente do uso prático do 
> comando
> >>>> exec ???
> >>>>
> >>>> Desde já obrigado a tdos !
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Conrado Pinto Rebessi
> >>> conradopinto@ gmail.com 
> <http://mc/[email protected] 
> <http://mc/[email protected]>>
> >>> Linux Registered User #179496
> >>> http://counter. li.org <http://counter.li.org 
> <http://counter.li.org>> - Get Counted!
> >>>
> >>> |_|0|_|
> >>> |_|_|0|
> >>> |0|0|0|
> >>>
> >>>
> >>> ------------------------------
> >>> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top
> >>> 
> 10<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/
>  
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/>>-
> >>> 
> Celebridades<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/
>  
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/>>-
> >>> 
> Música<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/
>  
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/>>-
> >>> 
> Esportes<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/
>  
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/>>
> >>>
> >>
> >>
> >>
> >
> >
> >
> > --
> > Atenciosamente,
> > Alan MeC Lacerda
> > Tecnólogo em Redes de Computadores
> > CCNA e LPIC-1
> > http://alanlacerda.blogspot.com/ <http://alanlacerda.blogspot.com/>
> > http://www.revista.espiritolivre.org/ 
> <http://www.revista.espiritolivre.org/>
> > "-"-"-"-"-"-" Of course it runs NetBSD "-"-"-"-"-"-"
> >
>
> 




------------------------------------

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/lpi/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a