+ Responder ao Tópico



  1. #1

    Padrão Permissão para executar script.sh

    Olá amigos,
    Estou com um problema de execução de script...deu tudo que é tipo de permição e logado como root e não consigo ter permissão para executar nenhum tipo de script
    as permissões que ja tentei...

    chmod +x script.sh
    chmod 775 script.sh
    chmod 777 script.sh
    e outros tipos
    estou fazendo alguma coisa errada? estou usando FreeBSD 7 com kernel recompilado.
    Obrigado a todos

  2. #2

    Padrão

    Com chmod 775 teria que funcionar. Poste o resultado.

  3. #3

    Padrão

    Como que eu posso postar o resultado...algum log?

    Código :
    host# chmod 775 aa.sh
    host# ./ aa.sh
    ./: Permission denied.
    host#

  4. #4

    Padrão

    Bom, tente o chmod 755.

    O que pode estar acontecendo é voce estar executando algum software que acessa o kernel e nao tem permissao.
    Exemplo:
    Se voce colocar o securelevel para 1, algumas regras do ipfw nao iriao funcionar. Se colocar entao securevel 2, ai mesmo nao vai funcionar nada.
    Seria mais facil voce postar o seu script para termos uma ideia, mas antes tente com chmod 755.

    Saudações,

  5. #5

    Padrão

    Pois é...eu ja tentei com 775, 777 e não funciona...
    meu secure level é -1
    Código :
    host# sysctl kern.securelevel
    kern.securelevel: -1
    e o meu script n funciona nem se for assim
    Código :
    #!/bin/sh
    echo"Bom dia";
    Sera que eu tenho que modificar algum tipo de permissão ou alguma coisa no Kernel e recompilalo?

  6. #6

    Padrão

    echo "bom dia"

    Teria que funcionar legal. O dono do arquivo é o root, ou usuario comum?

    Saudações,

  7. #7

    Padrão

    o dono é o root
    tbm se eu tentar com usuario normal da o mesmo problema
    Código :
    host# ls -l
    total 0
    -rwxrwxr-x  1 root  wheel  0 Apr 16 13:02 aa.sh
    host#

    Eu não sei mais o que fazer para resolver este problema de permissão.

  8. #8
    Administrador Avatar de Fernando
    Ingresso
    Jul 2001
    Localização
    Campinas Area
    Posts
    4.996
    Posts de Blog
    4

    Padrão

    Ele vai quando voce faz ele rodar como processo separado?

    sh aa.sh
    cat aa.sh | sh
    sh < aa.sh

    Em teoria se a shell consegue ler o arquivo, ela consegue intepretar o comando.. Permissao pra executar nao seria nem necessaria nesse caso..

    Vale olhar tambem se o path pro sh ta correto..
    Existem variacoes de acordo com a versao do OS..

    /usr/X386/bin
    /usr/bin

    etc.

    Outra coisa, qual shell voce esta' usando agora? csh ou sh mesmo? echo $0
    Última edição por Fernando; 16-04-2008 às 16:46.

  9. #9

    Padrão Funcionou

    Amigo deu certo rodando sh aa.sh rodou certinho...
    estou usando no momento csh
    acho que consegui resolver meu problema...agora vou tentar ver o path acho q deve estar errado ne...
    a todos que me ajudaro neste topico muito obrigado.

  10. #10
    Administrador Avatar de Fernando
    Ingresso
    Jul 2001
    Localização
    Campinas Area
    Posts
    4.996
    Posts de Blog
    4

    Padrão

    Acredito que seu problema era que voce estava tentando fazer o 'csh' interpretar o script que estava com source setado para o 'sh'.

    Quando voce executa o script com './', ele o executa no mesmo shell que voce esta, no caso, o 'csh'. Quando voce executa com o 'sh' (csh, ksh, etc), ele abre um processo separado e executa ele na shell que voce especificou.

    Era por isso que ele tava negando permissao.
    Legal que resolveu! Abraco.