Problem: unter Ubuntu (ab 18.04) und Debian (ab 10) führt
dhclient -d -sf /usr/bin/env eth0
zu einem Fehler:
execve (/usr/bin/env, …): Permission denied
Hinweise zu dem Problem finden sich im Kernel Log oder im Log des auditd
:
journalctl -k | grep /usr/bin/env
apparmor=„DENIED“ operation=„exec“ profile=„/sbin/dhclient“ name=„/usr/bin/env“ comm=„dhclient“ requested_mask=„x“ denied_mask=„x“
Per default läuft dhclient in einem confinement:
aa-status | grep dhclient
Lösung: /usr/bin/env
zum confinement hinzufügen:
/{,usr/}sbin/dhclient … { … /{,usr/}bin/env ix, …
Syntax testen:
apparmor_parser -d /etc/apparmor.d/sbin.dhclient | grep -C3 env
Profil neu laden:
apparmor_parser -r /etc/apparmor.d/sbin.dhclient
OpenSUSE Leap 15.0: „systemctl stop apparmor will not work. To unload all AppArmor profiles, use the new command aa-teardown instead which matches the previous behavior of systemctl stop apparmor“ Quelle