Systemd - usando o prefixo “+” com ExecStartPre

2

De acordo com a documentação , um + pode ser usado como um prefixo em systemd service configuration.

Estou tentando usá-lo assim:

[Service]
ExecStartPre=+/usr/bin/tomcat1
Type=simple
Environment="NAME=tomcat1"
EnvironmentFile=/etc/sysconfig/tomcat1
ExecStart=/usr/libexec/tomcat/server start
SuccessExitStatus=143
User=tomcat
Group=tomcat

Eu quero executar /usr/bin/tomcat1 com privilégios elevados, mas isso com o sinal "+" dá o seguinte erro (note que "-" não apresenta um erro).

"systemd1: [/usr/lib/systemd/system/tomcat1.service:10] Executable path is not absolute, ignoring: +/usr/bin/tomcat1"

Eu também tentei ExecStartPre="+/usr/bin/tomcat1 , ExecStartPre="+"/usr/bin/tomcat1 , etc.

Eu sei que posso usar PermissionsStartOnly = true como uma alternativa, o que deve funcionar, mas isso parecia menos do que uma ideia.

    
por Brozovelt 18.12.2017 / 20:34

2 respostas

2

A documentação que você está usando não corresponde à versão do systemd que você está usando. O modificador "+" foi introduzido na versão 231.

    
por 19.12.2017 / 00:51
0

Até agora, parece que a documentação que eu estava usando como referência pode estar imprecisa ou desatualizada (talvez o suporte para +,!, etc tenha sido removido). A execução do lado do servidor systemd.service parece mencionar apenas "-". Seria ótimo se alguém pudesse confirmar isso, no entanto.

    
por 18.12.2017 / 21:32