feat: profiles and integration tests improvments.

Add the udbus variable to be used in `unix bind` rule for dbus.
This commit is contained in:
Alexandre Pujol 2024-11-19 19:04:27 +00:00
parent b4bcb2f16e
commit 4e5f4cb06a
No known key found for this signature in database
GPG key ID: C5469996F0DF68EC
43 changed files with 81 additions and 47 deletions

View file

@ -25,9 +25,13 @@ profile ModemManager @{exec_path} flags=(attach_disconnected) {
@{exec_path} mr,
@{run}/udev/data/+acpi:* r, # for acpi
@{run}/udev/data/+pci:* r, # Identifies all PCI devices (CPU, GPU, Network, Disks, USB, etc.)
@{run}/udev/data/+platform:* r,
@{run}/udev/data/+pnp:* r,
@{run}/udev/data/+serial*:* r,
@{run}/udev/data/+usb:* r,
@{run}/udev/data/+vmbus:* r,
@{run}/udev/data/c16[6,7]:@{int} r, # USB modems
@{run}/udev/data/c18[0,8,9]:@{int} r, # USB devices & USB serial converters
@{run}/udev/data/c4:@{int} r, # for /dev/tty[0-9]*
@ -43,9 +47,9 @@ profile ModemManager @{exec_path} flags=(attach_disconnected) {
@{sys}/class/tty/ r,
@{sys}/class/wwan/ r,
@{sys}/devices/**/uevent r,
@{sys}/devices/@{pci}/revision r,
@{sys}/devices/virtual/net/*/ r,
@{sys}/devices/**/net/*/ r,
@{sys}/devices/**/uevent r,
@{sys}/devices/virtual/tty/*/ r,
include if exists <local/ModemManager>

View file

@ -47,6 +47,10 @@ profile NetworkManager @{exec_path} flags=(attach_disconnected) {
#aa:dbus talk bus=system name=org.freedesktop.nm_dispatcher label=nm-dispatcher
#aa:dbus talk bus=system name=org.freedesktop.resolve1 label=systemd-resolved
dbus send bus=system path=/org/freedesktop/nm_dispatcher
interface=org.freedesktop.nm_dispatcher
peer=(name=org.freedesktop.nm_dispatcher),
dbus receive bus=system path=/org/freedesktop
interface=org.freedesktop.DBus.ObjectManager
member=GetManagedObjects
@ -128,10 +132,11 @@ profile NetworkManager @{exec_path} flags=(attach_disconnected) {
@{run}/udev/data/+rfkill:* r,
@{run}/udev/data/n@{int} r,
@{sys}/devices/**/uevent r,
@{sys}/devices/virtual/net/{,**} r,
@{sys}/devices/@{pci}/net/*/{,**} r,
@{sys}/devices/@{pci}/usb@{int}/**/net/{,**} r,
@{sys}/devices/**/@{uuid}/net/*/{,**} r,
@{sys}/devices/**/uevent r,
@{sys}/devices/virtual/net/{,**} r,
@{PROC}/@{pids}/stat r,
@{PROC}/1/environ r,

View file

@ -12,6 +12,8 @@ profile netplan.script @{exec_path} flags=(attach_disconnected) {
include <abstractions/nameservice-strict>
include <abstractions/python>
network netlink raw,
@{exec_path} mr,
@{lib}/netplan/generate rix,
@ -22,15 +24,25 @@ profile netplan.script @{exec_path} flags=(attach_disconnected) {
/etc/netplan/{,*} r,
@{run}/NetworkManager/conf.d/10-globally-managed-devices.conf{,.@{rand6}} rw,
@{run}/netplan/ r,
@{run}/NetworkManager/conf.d/@{int}-globally-managed-devices.conf{,.@{rand6}} rw,
@{run}/NetworkManager/system-connections/ rw,
@{run}/NetworkManager/system-connections/netplan-*.nmconnection{,.@{rand6}} rw,
@{run}/systemd/network/ r,
@{run}/systemd/network/@{int}-netplan{,-*}.{network,link}{,.@{rand6}} rw,
@{run}/systemd/system/ r,
@{run}/systemd/system/netplan-* rw,
@{run}/systemd/system/systemd-networkd-wait-online.service.d/ r,
@{run}/systemd/system/systemd-networkd-wait-online.service.d/@{int}-netplan.conf{,.@{rand6}} rw,
@{run}/systemd/system/systemd-networkd.service.wants/ rw,
@{run}/systemd/system/systemd-networkd.service.wants/netplan-*.service rw,
@{run}/udev/rules.d/ r,
@{run}/udev/rules.d/90-netplan.rules{,.@{rand6}} rw,
@{run}/udev/rules.d/@{int}-netplan{,-*}.rules{,.@{rand6}} rw,
@{sys}/devices/**/net/*/address r,
profile udevadm {
include <abstractions/base>

View file

@ -11,6 +11,7 @@ profile nm-online @{exec_path} {
include <abstractions/base>
include <abstractions/bus-system>
include <abstractions/bus/org.freedesktop.NetworkManager>
include <abstractions/consoles>
dbus receive bus=system path=/org/freedesktop/NetworkManager/ActiveConnection/@{int}
interface=org.freedesktop.NetworkManager.Connection.Active

View file

@ -9,10 +9,14 @@ include <tunables/global>
@{exec_path} = @{bin}/nmcli
profile nmcli @{exec_path} {
include <abstractions/base>
include <abstractions/bus-system>
include <abstractions/consoles>
capability dac_read_search,
capability sys_nice,
#aa:dbus talk bus=system name=org.freedesktop.NetworkManager label=NetworkManager
@{exec_path} mr,
@{pager_path} rPx -> child-pager,