GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer d'utilisateur pour un groupe de fichiers de service Systemd ?

J'ai un tas de fichiers de service dans /etc/systemd/service/myapp.*.service

Chacun a une ligne qui ressemble à…

User=Foo

…et j'ai besoin de changer tous ces fichiers .service pour qu'ils disent tous…

User=Bar

Comment puis-je le faire efficacement ?

Réponse acceptée :

Qui a dit que vous deviez changer les fichiers du tout ? ☺

find /etc/systemd/service/ -maxdepth 1 -name 'myapp.*.service' |
while read -r i
do
    printf '[Service]\nUser=%s\n' 'Bar' > ${i}.d/change-user.conf
done

Récupérer la définition du service vanille est un peu plus facile de cette façon.

rm -- /etc/systemd/service/myapp.*.service.d/change-user.conf

Faire de tout cela un seul fichier qui s'applique à tout un tas de services n'est bien sûr qu'un simple exercice d'utilisation des liens physiques.

install -d /etc/systemd/temp
printf '[Service]\nUser=%s\n' 'Bar' > /etc/systemd/temp/change-user.conf
find /etc/systemd/service/ -maxdepth 1 -name 'myapp.*.service' |
while read -r i
do
    ln /etc/systemd/temp/change-user.conf ${i}.d/change-user.conf
done

C'est bien sûr la manière officielle de faire ce genre de choses avec les unités fournies par les packages et générées par le runtime. Vous êtes censé pas pour modifier ces fichiers d'unité.

Autres lectures

  • Lennart Poettering (2013-10-07). systemd.unit . pages de manuel systemd. freedesktop.org.

Linux
  1. Comment changer un nom d'utilisateur sous Linux

  2. Comment écrire un script de démarrage pour Systemd ?

  3. Écrire des fichiers de service Systemd de base ?

  4. Comment rediriger la sortie du service systemd vers un fichier

  5. Comment puis-je changer tous les fichiers appartenant à un utilisateur à un autre utilisateur ?

Comment modifier les autorisations pour les fichiers et les répertoires

Comment changer le mot de passe utilisateur sous Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Comment changer d'utilisateur sous Linux

Comment fonctionnent les autorisations de fichiers pour l'utilisateur root ?

Comment envoyer un email si un service systemd est redémarré ?