Permissão negada ao tentar executar script como outro usuário

1

Estou tentando executar um script como outro usuário que inicia um software (Etherpad), que é executado assim (da raiz): su -c "/var/www/etherpad-lite/bin/run.sh" -s /bin/bash etherpad , mas estou recebendo o seguinte erro: bash: /var/www/etherpad-lite/bin/run.sh: Permission denied

Isso já funcionou perfeitamente e só parou de funcionar depois que instalei um monte de coisas para outro projeto em que estou trabalhando, e nenhuma delas deveria afetar o etherpad.

/var/log/auth.log mostra isso:

Aug 12 19:59:21 bhs1 su[7289]: Successful su for etherpad by root
Aug 12 19:59:21 bhs1 su[7289]: + /dev/pts/1 root:etherpad
Aug 12 19:59:21 bhs1 su[7289]: pam_unix(su:session): session opened for user etherpad by root(uid=0)
Aug 12 19:59:21 bhs1 su[7289]: pam_unix(su:session): session closed for user etherpad

Eu fiz algumas pesquisas e descobri algumas coisas que poderiam causar isso, mas nenhuma é relevante para o meu problema:

  • O arquivo é chmodded para 777 ( -rwxrwxrwx ) e é de propriedade do usuário do etherpad. Eu só mudei para 777 para ter certeza que não era um problema de permissões, era algo como 700 antes.
  • O sistema de arquivos não tem o noexec ativado

Estou executando o Debian 7.6 em um servidor dedicado.

    
por ev0lution 13.08.2014 / 02:04

1 resposta

2

Você pode ter run.sh com privilégios "lidos por todos", mas se, e. / var / www / está com privilégios "somente leitura por root" você receberá a mensagem de erro "permissão negada".

verifique as permissões de todos os diretórios no caminho

/var/
/var/www/
/var/www/etherpad-lite/
/var/www/etherpad-lite/bin/
    
por 13.08.2014 / 14:49