Comment exécuter le service pas en tant que root

0

J'ai créé avec succès un service sur mon Linux RedHat en copiant le fichier unité dans /usr/lib/systemd/system/mediation.service

Je peux démarrer / arrêter / activer / ... avec succès le service avec

systemctl enable mediation
systemctl start mediation
etc.

Cependant, depuis systemctl est généralement exécuté par root, mon application s’exécute également en tant que root. Comment puis-je configurer le service qu'il exécute sous un utilisateur différent (non privilégié)?

Wernfried Domscheit
la source
Que se passe-t-il si vous ajoutez séparément les commandes au fichier sudoers de l'utilisateur non root que vous souhaitez exécuter?
ivanempire

Réponses:

1

Utilisation:

User=myuser

Dans votre fichier d'unité.

Ceci est documenté dans man systemd.exec

En outre, les fichiers personnalisés ne doivent pas entrer dans /usr/lib/systemd/system, ils devraient aller dans /etc/systemd/system. Le premier est l'endroit où les paquets installent leurs fichiers. Ce dernier est l'endroit où les administrateurs système doivent mettre leurs fichiers.

Mark Stosberg
la source