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
