9 votes

PermissionsStartOnly alternative dans systemd

J'ai trouvé que le réglage PermissionsStartOnly dans systemd est déjà obsolète selon le fichier NEWS de systemd.

Le réglage PermissionsStartOnly= est obsolète (mais est encore supporté pour la compatibilité ascendante). La même fonctionnalité est fournie par les préfixes plus flexibles "+", "!", et "!!" pour ExecStart= et d'autres commandes.

Je devrais utiliser + ou ! ou !!, mais je ne suis pas sûr de comment utiliser cette option même si j'ai lu le manuel.

Mon myservice.service est comme suit. Comment puis-je le réécrire sans PermissionsStartOnly ?

[Service]
PermissionsStartOnly=true
ExecStartPre=/bin/bash -c '/bin/journalctl -b -u ntpdate | /bin/grep -q -e "adjust time server" -e "step time server"'
ExecStartPre=/bin/mkdir -p /path/to/somedir
ExecStart=/path/to/myservice
ExecStop=/bin/kill -INT ${MAINPID}
ExecReload=/bin/kill -INT ${MAINPID} && /path/to/myservice
Restart=always
RestartSec=5
User=myuser
Group=mygroup

17voto

Reda Salih Points 756

Le réglage PermissionsStartOnly=true signifie que les autorisations de l'utilisateur et du groupe ne s'appliquent qu'à ExecStart. Donc, passer à la nouvelle syntaxe serait :

ExecStartPre=+/bin/bash -c '/bin/journalctl -b -u ntpdate | /bin/grep -q -e "adjust time server" -e "step time server"'
ExecStartPre=+/bin/mkdir -p /chemin/vers/un/dossier
ExecStart=/chemin/vers/monservice
ExecStop=+/bin/kill -INT ${MAINPID}
ExecReload=+/bin/kill -INT ${MAINPID} && /chemin/vers/monservice

1 - ExecStart sera exécuté avec moins de privilèges, ce qui signifie également qu'il sera exécuté en tant qu'"Utilisateur" & "Groupe"

2 - Les instructions préfixées par "+" seront exécutées avec un plus haut privilège en tant que root. Donc dans ce cas, seul ExecStart sera exécuté avec "monutilisateur" & "mongroupe"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X