Permissões de registro do Amazon EC2 Ubuntu e upstart

2

Eu configurei este script upstart em uma instância do Amazon Ec2 Ubuntu 12.04 TLS para executar um aplicativo node.js. O script usa setuid e setgid.

Funciona bem sem usar setuid e setgid , mas quando eu os uso se falhar, porque o processo não pode gravar em /var/log/myapp.log (que é o caminho que quero usar para o registro) devido a um erro de permissão negada.

/proc/self/fd/9: 13: /proc/self/fd/9: cannot create /var/log/noommi.log: Permission denied

Estou usando o usuário padrão "ubuntu" para executar o script, que é o mesmo usuário que efetuo login na máquina (sei que seria melhor usar outro usuário) Como eu vejo, o usuário do ubuntu pertence ao grupo adm, que é um grupo incluído em / var / log. Executando ls -la (usando o usuário "ubuntu") este é o resultado para var / log:

drwxr-xr-x 11 root      root      4096 Oct 15 12:05 .
drwxr-xr-x 12 root      root      4096 Oct 12 21:44 ..

Este é o conteúdo do script /etc/init/myapp.conf:

description "start and stop myapp"
version "1.0"
author "Me!"

start on filesystem and started networking
respawn


env HOME=/home/ubuntu/myapp

#Run the script using ubuntu user instead of root.
setuid ubuntu
setgid ubuntu
script

export HOME=$HOME
chdir $HOME
env PATH=/usr/local/bin:/usr/bin:/bin
env NODE_ENV=development

exec /usr/bin/node server.js > /var/log/myapp.log 2>&1

end script

O que devo fazer para que o script possa gravar o log em / var / log?

    
por Alfonso Pantoja 15.10.2013 / 23:55

1 resposta

0

remova > /var/log/myapp.log 2>&1 do exec

o upstart registrará no arquivo: /var/log/upstart/myapp.log (owner: root)

    
por 02.01.2016 / 17:38