The Daily Shaarli
Avec systemd, trois arborescences sont à considérer : /lib/systemd, /etc/systemd et /run/systemd . La première contient les descriptions des services telles qu'elles sont fournies dans les paquets logiciels. La deuxième contient des surcharges locales de ces descriptions, c'est-à-dire des annihilations ou des modifications désirées par l'administrateur système qui ne seront pas écrasées lors d'une mise à jour des paquets (et c'est l'un des apports de systemd-systemd - le gestionnaire de démarrage uniquement - par rapport à sysvinit). La dernière, contient les descriptions des services telles qu'elles sont à l'instant présent. L'ordre est important : /run/systemd surcharge /etc/systemd qui surcharge /lib/systemd.
Prenons un cas concret. Nous souhaitons modifier la description du service OpenVPN.
Nous copions /lib/systemd/system/openvpn@.service, qui est un modèle (un unique fichier de configuration qui permet de créer facilement plusieurs instances d'un même service), dans /etc/systemd/system/openvpn.service, nous apportons notre touche personnelle et nous exécutons un systemctl daemon-reload. On se rend compte que notre modification n'est pas effective. Aller, une petite systemctl disable openvpn@<nom_fichier_conf> puis une systemctl enable openvpn@<nom_fichier_conf>, ça devrait l'faire, d'autant que systemctl écrit « Created symlink /etc/systemd/system/multi-user.target.wants/openvpn@systemctl status openvpn@<nom_fichier_conf> l'affiche explicitement : c'est toujours /lib/systemd/system/openvpn@.service qui est utilisé.
La description qui fait foi se trouve dans /run/systemd/generator/openvpn.service.wants/openvpn@<nom_fichier_conf> qui est un lien symbolique vers /lib/systemd/system/openvpn@.service, la description originale fournie pas le paquet logiciel openvpn. Comment l'avons-nous su ? En nous documentant sur les arborescences utilisées par systemd. Mais la commande suivante aurait également permis de découvrir le pot aux roses : sudo find / -lname /lib/systemd/system/openvpn@.service.
Qui génère ce fichier ? Un script, /lib/systemd/system-generators/openvpn-generator, que l'on nomme générateur. Dans le cas présent, son but est de simplifier la vie en démarrant tous les VPN nommés dans /etc/default/openvpn (par défaut : tous les VPN) et pour lesquels un fichier de conf' existe dans /etc/openvpn/<nom>.conf. Pour ce faire, un lien est créé depuis /run/systemd/generator/openvpn.service.wants/openvpn@<nom_fichier_conf> vers… /lib/systemd/system/openvpn@.service. Un générateur peut aussi servir à générer dynamiquement la description d'un service. Comment avons-nous identifié le fichier qui génère les liens symboliques dans /run/systemd/generator/openvpn.service.wants ? Le chemin contient l'indication « generator ». Un générateur est fourni par un paquet logiciel. La commande dpkg -L openvpn | grep generator permet donc de l'identifier.
Tout comme il est possible de masquer la description d'un service afin de l'empêcher de démarrer même lors d'une mise à jour des paquets (dans les paquets Debian, la plupart des scripts exécutés après l'installation d'un logiciel - /var/lib/dpkg/info/openvpn.postinst, par exemple - crée un service et l'active), il est possible de masquer un générateur. Pour ce faire :
sudo mkdir /etc/systemd/system-generators/
sudo ln -s /dev/null /etc/systemd/system-generators/openvpn-generator
sudo systemctl daemon-reload
Note : la commande systemctl mask ne permet apparemment pas de travailler sur les générateurs.
Les commandes systemctl status openvpn@<nom_fichier_conf> et systemctl show openvpn@<nom_fichier_conf> confirment que la description utilisée est désormais notre surcharge locale dans /etc, avec nos modifications. \o/
Très intéressant désenfumage sur un (non-)fait d'actualité.
Rappelons que la charia s’applique dans cette région grecque en vertu des traités de Sèvres (1921 : morcellement de l’Empire ottoman, allié de l’Allemagne, défait après la première Guerre Mondiale) et de Lausanne (1923 : reconnaissance de la Turquie et nouveau découpage plus favorable). Certaines clauses de ces traités se voulaient protectrices des minorités musulmanes restées sur le sol grec après le départ des armées ottomanes. Il s’agissait de protéger la liberté religieuse des musulmans contre toute persécution possible sur le territoire grec, en rendant la charia obligatoire. Cette obligation s’imposait donc aux musulmans, mais aussi à l’État grec, afin de protéger cette minorité face à la majorité orthodoxe. Mais les faits, dans l’affaire qui a mené à cette décision de la Cour, montrent que cette protection, érigée il y a près d’un siècle dans un autre contexte, a fini par devenir un carcan dont les musulmans qui voudraient en sortir, en appliquant le code civil grec, ne pouvaient le faire. Il s’agissait d’un musulman grec qui avait rédigé un testament devant notaire en faveur de sa femme selon le code civil grec, mais ce testament fut écarté au profit de la charia, y compris par les tribunaux civils grecs. Résultat, ce sont les sœurs du défunt qui héritèrent d’une part substantielle des biens, faisant primer la charia sur la loi grecque. Impossible donc de ne pas appliquer la charia quand on est un Grec musulman.
C’est ce verrou qu’a fait sauter la Cour européenne des droits de l’homme par son arrêt si décrié du 19 décembre 2018 : toute personne musulmane souhaitant appliquer la charia en Grèce peut le faire, et ne peut en être empêchée. Mais elle doit aussi pouvoir refuser de l’appliquer, ce que n’autorisait pas la loi grecque. La liberté religieuse, c’est celle de respecter sa propre religion, mais aussi celle de s’en écarter (ce qu’on oublie souvent en France s’agissant par exemple de l’avortement), voire de ne pas avoir de religion. En ce sens, la Cour a mis fin à la charia obligatoire en Grèce.
Cet arrêt est donc très important, il a d’ailleurs été rendu par la « Grande chambre », c’est-à-dire la formation la plus solennelle de la Cour. Mais qu’est-ce que cela change du point de vue de l’application de la charia en Europe en général et en France en particulier ? Rien. Un verrou a sauté, mais aucune porte ne s’est ouverte, laissant se déverser des versets coraniques sur nos vies quotidiennes.
En France, le juge admet déjà l’application de traditions religieuses issues de la charia, tout comme il reconnaît l’application de traditions issues des religions juives, chrétiennes ou autres. Le droit français, et donc les juges, tiennent compte des traditions religieuses comme les tribunaux religieux (par exemple les tribunaux rabbiniques ou le cadi musulman notamment à Mayotte), qui règlent des conflits, généralement d’ordre familial (mariages, divorces, successions, etc.). C’est également le cas au Royaume-Uni par exemple (les Sharia Councils). Nos juges républicains sont fréquemment amenés à régler des conflits aux résonnances religieuses, et à tenir compte de règles religieuses librement appliquées par les justiciables. Ces particularismes, qui s’imposent au juge, sont une conséquence de la liberté de religion, une des grandes conquêtes de la Révolution française rappelons-le.
[…] Toutefois, bien des règles de droit françaises s’adaptent au fait religieux. Les cloches d’églises tintent pour tous (chrétiens ou non) sans que s’appliquent les lois et règlements français sur les nuisances sonores ; les dimanches ne sont pas travaillés ; les abattoirs casher et halal bénéficient de dérogations aux textes régissant l’abattage des animaux, et doivent de toute façon respecter les règles fondamentales d’hygiène (sinon le préfet doit les fermer : Cour administrative d’appel, 2018) ; la circoncision n’est pas considérée comme une mutilation au sens du code pénal ; etc.
Reste ce qu’a également rappelé la Cour européenne des droits de l’homme par son arrêt : les règles religieuses s’appliquent pour autant que les intéressés les acceptent. Et elles s’appliquent pour autant qu’elles soient acceptables dans nos sociétés. Nos tribunaux considèrent et continueront de considérer que certaines traditions religieuses sont contraires à l’ordre public et doivent à ce titre être écartées voire sanctionnées pénalement. Ainsi, la répudiation d’une femme par son mari n’est tout simplement pas admise en France parce qu’elle contrevient au principe d’égalité des époux (Cour de cassation, 2012). Il en va de même de la polygamie, qui « heurte » l’ordre public français selon le juge, d’autant qu’elle est interdite par le code civil (article 147). Autre exemple, il n’est pas possible de refuser pour des raisons religieuses une transfusion sanguine pour son enfant en danger de mort (Conseil d’État, 2002). Quant aux règles de succession, qui étaient en cause dans l’arrêt de la Cour européenne, seul le seul code civil s’applique en France.
