Пользователь среды для systemd - PullRequest
0 голосов
/ 11 мая 2018

Итак, я пытаюсь запустить процесс под systemd, используя пользователя, полученного из среды.Что-то вроде следующего:

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=simple
EnvironmentFile=/etc/tomcat/tomcat.conf
Environment="NAME=%I"
EnvironmentFile=-/etc/sysconfig/tomcat@%I
ExecStart=/usr/libexec/tomcat/server start
ExecStop=/usr/libexec/tomcat/server stop
SuccessExitStatus=143
User=${TOMCAT_USER}

[Install]
WantedBy=multi-user.target

Где TOMCAT_USER определено либо в /etc/tomcat/tomcat.conf, либо в специфичном для экземпляра файле /etc/sysconfig.

Очевидно, что вышеприведенное не работает.И я предпочел бы не делать

su - ${TOMCAT_USER} -c /usr/libexec/tomcat/server start

, если я могу избежать этого.Как правильно сделать это в systemd.

1 Ответ

0 голосов
/ 11 мая 2018

Похоже, вы работаете с группой похожих приложений.Уже есть пример того, как установить это значение на для двух экземпляров gunicorn .

Запускаемое приложение отличается, но дизайн с использованием systemd будет таким же.

...