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

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

Re: [shell-script] Permissão de execução


From: Julio C. Neves
Subject: Re: [shell-script] Permissão de execução
Date: Mon, 11 Aug 2008 10:12:31 -0300

Fala Guilherme,
este ponto (ou source) está muito bem explicado em português em
http://twiki.softwarelivre.org/TWikiBar/TWikiBarPapo008#O_comando_source. Dá
uma olhada.

-- 
Abraços,
Julio
*Em setembro estarei dando um treinamento
Shell em Brasília (em 2 fins de semana).
Mais informações: www.tecnologiabr.com.br
Tel: (61) 3354-3162*

2008/8/11 Guilherme Gall <address@hidden>

>   Cristiano,
>
> O ponto equivale ao comando 'source'. Ele executa o programa passado
> por parâmetro no ambiente da shell atual, sem criar uma sub shell.
>
> Exemplo:
>
> $ cat exemplo.sh
> VAR="Olá mundo"
> $ echo $VAR
>
> $ chmod +x exemplo.sh
> $ ./exemplo.sh #exemplo.sh definiu um valor para VAR em uma sub shell
> $ echo $VAR #portanto, ela não existe mais nesse ponto
>
> $ source exemplo.sh # exemplo.sh foi executado no ambiente da shell atual
> $ echo $VAR # portanto, VAR passa a ter o valor que foi definido para
> ela por exemplo.sh
> Olá mundo
>
> Quanto ao uso do 'source' ser um problema de segurança, lembre-se que
> executar qualquer coisa através dele não te dá mais permissões do que
> as que você já tinha. Por exemplo, vou tentar remover o arquivo
> /var/log/messages, que só dá permissões de escrita para o root:
>
> $ cat exemplo2.sh
> rm -f /var/log/messages
> $ . exemplo2.sh # usei ponto no lugar de 'source' para você ver que
> são equivalentes
> rm: imposível remover `/var/log/messages': Permissão negada
>
> Saudações,
> --
> Guilherme Magalhães Gall
>
> 2008/8/10 Cristiano Ferrari <address@hidden <boxferrari%40gmail.com>
> >:
>
> > Salve honoráveis, boa noite.
> >
> > Sempre que escrevo um código em um script que possa ser reutilizado em
> > outros (tipo funções, por exemplo) ou que possa compartilhar
> > parâmetros com outros scripts, como váriáveis, eu costumo por estes
> > trechos em arquivos separados e incorporá-los usando o comando: '.
> > /fullpath/arquivo.sh' no código do script (meio sem saber extamente o
> > porquê do '. ' antes do endereço do arquivo).
> >
> > Eu sempre dei, previamente, permissão de execução para este arquivo de
> > parâmetros/funções, mas hoje, ao esquecer de dar permissão a um novo
> > arquivo destes, percebi que ela não é necessária (!!!) para que este
> > arquivo seja executado.
> >
> > Isso nunca havia me ocorrido, mas me chamou a atenção para um detalhe:
> > este tipo de comportamento não compromete a segurança?
> >
> > Afinal, se eu tentar chamar o arquivo diretamente (ex:
> > '/fullpath/parametros.sh'), seja via outro script ou diretamente no
> > prompt, o shell nega a execução, mas se chamá-lo usando '.
> > /fullpath/parametros.sh' ele é executado, inclusive no prompt (e eu
> > nem preciso ser root para isso).
> >
> > Talvez eu esteja confundindo conceitos ou usando o '. /arquivo'
> > indevidamente.
> >
> > Então, alguém, por favor, poderia me explicar por que eu consigo
> > executar um arquivo sem permissões de execução apenas acrescentando um
> > '. ' antes dele?
> >
> > Abraço
> >
> > Cristiano Ferrari
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > 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<shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>  
>



-- 
Abraços,
Julio
Em setembro estarei dando um treinamento
Shell em Brasília (em 2 fins de semana).
Mais informações: www.tecnologiabr.com.br
Tel: (61) 3354-3162


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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