Tout dépend du niveau de sécurité configuré pour SELinux.
Il existe 3 modes différents:
- enforcing
- permissive
- disabled
Dans le cas des 2 derniers (permissive & disabled) il ne devrait pas y avoir de problème pour activer et démarrer un nouveau service systemd.
Par contre, si le mode est enforcing, il y a de grandes chances pour que cela empêche le démarrage d'un nouveau service.
Pour le vérifier:
$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      33Donc, si le mode SELinux est enforcing et que vous avez créé un nouveau service et que celui-ci n'arrive pas à démarrer, suivre la procédure ci-dessous.
Exemple avec une distribution AlmaLinux:
Installer le paquet policycoreutils-python-utils.noarch
$ sudo dnf install -y policycoreutils-python-utils.noarchExécuter les 2 commandes suivantes:
$ sudo ausearch -m avc -ts today | audit2allow -M le_nom_de_mon_service
$ sudo semodule -i le_nom_de_mon_service.ppEn théorie, l'exécution de la première commande indique d'exécuter la seconde commande.
Modifier le terme le_nom_de_mon_service
Et enfin:
$ sudo systemctl start le_nom_de_mon_service.service
$ sudo systemctl status le_nom_de_mon_service.serviceLe problème devrait être réglé.