Pour autant que je sache, systemd ne traitera pas cela particulièrement bien. Si je comprends bien, vous voulez remplacer le comportement de sshd.service
, non?
Heureusement pour vous, systemd est conçu pour ce genre de chose. Mettez simplement votre définition de service dans /etc/systemd/system/ssh.service
, exécutez systemctl daemon-reload
pour recharger les fichiers d'unité, et systemd utilisera automatiquement cette configuration au lieu du système ssh.service
.
Vous voulez aussi du systemctl enable mysshd.service
travail? Aucun problème. Dans la [Install]
section de votre fichier d'unité, ajoutez une ligne qui dit Alias=mysshd.service
. Ensuite, exécutez systemctl reenable ssh.service
pour que systemd corrige les liens symboliques de l'unité, et vous êtes en or.
Maintenant, vous n'avez pas donné de détails sur ce qui mysshd.service
est censé faire. Si c'est complètement différent de la normale ssh.service
, tant mieux! Utilisez la méthode ci-dessus. Cependant, si vous voulez juste changer une petite chose, vous utilisez la mauvaise approche. systemd vous permet de créer des "extraits" de fichiers d'unité qui seront appliqués au-dessus des fichiers d'unité normaux. Cela vous permet d'ajouter ou de remplacer des directives individuelles tout en permettant au reste du fichier d'unité de recevoir des mises à jour du gestionnaire de packages. Pour ce faire, créez simplement /etc/systemd/system/ssh.d/my-custom-config.conf
(vous pouvez changer my-custom-config.conf
pour être ce que vous voulez, et vous pouvez également avoir plusieurs fichiers de remplacement). Dans ce fichier, placez les directives que vous souhaitez modifier ou ajouter à l'habituel ssh.service
. Vous pouvez même ajouter des Alias=
directives, donc ça systemctl start mysshd.service
marche! N'oubliez pas d'exécutersystemctl daemon-reload
une fois que vous avez terminé (et, si vous l'avez utilisé Alias=
, systemctl reenable ssh.service
).
En passant, ne changez jamais , jamais, les fichiers d'unité systemd /usr/lib/systemd
. Déjà! La norme de hiérarchie du système de fichiers requiert qu'elle /usr
soit traitée en lecture seule. En pratique, cela signifie que le gestionnaire de packages gère /usr
(à l'exception de /usr/local
), et vous ne touchez pas à ce que le gestionnaire de packages gère - en particulier parce que tout ce que vous modifiez sera probablement remplacé par la suite. Au lieu de cela, mettez vos affaires quelque part comme /etc
.