Bonjour,
J’utilise NetworkManager avec dhclient au lieu du client pour gérer les messages DHCP ntp-servers avec systemd-timesyncd (cf NetworkManager et systemd.timesyncd).
Seulement voilà, le profile sbin.dhclient dans apparmor ne prend pas en compte l’utilisation de celui-ci et NetworkManager pour que le fichier pid de dhclient soit écrit dans /run/NetworkManager. Il génère un message d’erreur de droit d’accès.
Il n’y a que trois moyens n’utilisant pas de « bidouille » pour corriger:
- Diminuer la sécurité apparmor de sbin.dhclient en le passant de enforce en complain avec
aa-compain sbin.dhclient
- Diminuer la sécurité en modifiant les droits sur le répertoire /run/NetworkManager avec chmod g+w /run/NetworkManager (qui s’apparente à une bidouille justement)
- Modifier le profil apparmor de dhclient en ajoutant les lignes:
/{,var/}run/NetworkManager/dhclient{6,}.pid rw,
/{,var/}run/NetworkManager/dhclient{6,}{-,.}*.pid rw,
sous les lignes:
/{,var/}run/dhclient{6,}.pid rw,
/{,var/}run/dhclient{6,}{-,.}*.pid rw,
dans le fichier /etc/apparmor.d/sbin.dhclient.
le plus étrange c’est que NetworkManager est bien pris en compte pour le répertoire /var/lib/NetworkManager, c’est peut être un oubli, ou bien c’est dans NetworkManager que se situe le problème en cherchant à écrire dans /runNetworkManager (pourtant légitime) au lieu de /run.
Personnellement, je pense que modifier le profile apparmor de dhclient est la solution la plus propre.
**A toutes fins utiles, penser que si vous avez un service, ou un process qui génère des problèmes de droits d’accès, pensez à vérifier son profil apparmor et les logs apparmor dans auditd **.