Как установить переменные среды в моей службе Linux для Asterisk, даже если у нее нет реального пользователя?
Я создал службу linux, которая работает как deamon (и начинается с /etc/init.d/X). Мне нужно установить некоторые переменные среды, к которым может обращаться приложение.
Вот сценарий. Приложение представляет собой набор скриптов Perl AGI, которые зависят от (и, следовательно, должны выполняться как) пользователя звездочки, но звездочка не имеет оболочки. В идеале я просто установил это в /home/asterisk/.bashrc, но это не существует для звездочки.
Как я могу установить переменные среды для моего приложения в рабочей среде пользователя asterisk, чтобы мое приложение могло их использовать?
Ответы
Ответ 1
Либо установите их в startup script (/etc/init.d/yourdaemon
), либо поместите строку в этот файл, который выглядит следующим образом:
. /etc/yourdaemon.env
и поместите переменные среды в этот файл, используя синтаксис export VAR=value
. В Red Hat-подобных системах я считаю, что правильным местом для такого файла является /etc/sysconfig
. Для этой цели у Debian/Ubuntu есть /etc/default
.