Итак, я пытаюсь запустить процесс под 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.