В настоящее время я выполняю задание upstart как непривилегированный пользователь, например так:
start on started mongodb
stop on runlevel [06]
respawn
respawn limit 10 100
env NODE_ENV=production
pre-start script
ulimit -n 2048
end script
exec sudo -u mainuser /usr/bin/make -C /home/mainuser/app start-prod >> /home/mainuser/data/logs/app.log 2>> /home/mainuser/data/logs/app.err.log
Это работает хорошо, за одним исключением: файлы журналов app.log
и app.err.log
записываются как root (root становится владельцем этих файлов).
Как я могу гарантировать, что файлы журнала будут записаны непривилегированным mainuser
?