|
--- a/profiles/apparmor.d/usr.sbin.dnsmasq
|
|
+++ b/profiles/apparmor.d/usr.sbin.dnsmasq
|
|
@@ -1,3 +1,10 @@
|
|
+# Last Modified: Thu Jun 10 01:23:44 2021
|
|
+abi <abi/3.0>,
|
|
+
|
|
+include <tunables/global>
|
|
+
|
|
+@{TFTP_DIR} = /srv/tftp /srv/tftpboot /var/tftp
|
|
+
|
|
# ------------------------------------------------------------------
|
|
#
|
|
# Copyright (C) 2009 John Dong <jdong@ubuntu.com>
|
|
@@ -9,126 +16,95 @@
|
|
#
|
|
# ------------------------------------------------------------------
|
|
|
|
-abi <abi/3.0>,
|
|
-
|
|
-@{TFTP_DIR}=/var/tftp /srv/tftp /srv/tftpboot
|
|
|
|
-include <tunables/global>
|
|
profile dnsmasq /usr/{bin,sbin}/dnsmasq flags=(attach_disconnected) {
|
|
include <abstractions/base>
|
|
include <abstractions/dbus>
|
|
include <abstractions/nameservice>
|
|
+ include <abstractions/user-tmp>
|
|
+ include if exists <local/usr.sbin.dnsmasq>
|
|
|
|
capability chown,
|
|
+ capability dac_override,
|
|
+ capability net_admin, # for DHCP server
|
|
capability net_bind_service,
|
|
+ capability net_raw, # for DHCP server ping checks
|
|
capability setgid,
|
|
capability setuid,
|
|
- capability dac_override,
|
|
- capability net_admin, # for DHCP server
|
|
- capability net_raw, # for DHCP server ping checks
|
|
+
|
|
network inet raw,
|
|
network inet6 raw,
|
|
|
|
- signal (receive) peer=/usr/{bin,sbin}/libvirtd,
|
|
- signal (receive) peer=libvirtd,
|
|
- ptrace (readby) peer=/usr/{bin,sbin}/libvirtd,
|
|
- ptrace (readby) peer=libvirtd,
|
|
+ signal receive peer=/usr/{bin,sbin}/libvirtd,
|
|
+ signal receive peer=libvirtd,
|
|
|
|
- owner /dev/tty rw,
|
|
+ ptrace readby peer=/usr/{bin,sbin}/libvirtd,
|
|
+ ptrace readby peer=libvirtd,
|
|
|
|
- @{PROC}/@{pid}/fd/ r,
|
|
-
|
|
- /etc/dnsmasq.conf r,
|
|
- /etc/dnsmasq.d/ r,
|
|
- /etc/dnsmasq.d/* r,
|
|
- /etc/dnsmasq.d-available/ r,
|
|
- /etc/dnsmasq.d-available/* r,
|
|
- /etc/ethers r,
|
|
- /etc/NetworkManager/dnsmasq.d/ r,
|
|
- /etc/NetworkManager/dnsmasq.d/* r,
|
|
/etc/NetworkManager/dnsmasq-shared.d/ r,
|
|
/etc/NetworkManager/dnsmasq-shared.d/* r,
|
|
+ /etc/NetworkManager/dnsmasq.d/ r,
|
|
+ /etc/NetworkManager/dnsmasq.d/* r,
|
|
/etc/dnsmasq-conf.conf r,
|
|
/etc/dnsmasq-resolv.conf r,
|
|
-
|
|
- /usr/{bin,sbin}/dnsmasq mr,
|
|
-
|
|
- /var/log/dnsmasq*.log w,
|
|
-
|
|
+ /etc/dnsmasq.conf r,
|
|
+ /etc/dnsmasq.d-available/ r,
|
|
+ /etc/dnsmasq.d-available/* r,
|
|
+ /etc/dnsmasq.d/ r,
|
|
+ /etc/dnsmasq.d/* r,
|
|
+ /etc/ethers r,
|
|
+ /tmp/** r,
|
|
+ /usr/libexec/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
|
|
+ /usr/lib{,64}/libvirt/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
|
|
/usr/share/dnsmasq{-base,}/ r,
|
|
/usr/share/dnsmasq{-base,}/* r,
|
|
-
|
|
- @{run}/*dnsmasq*.pid w,
|
|
- @{run}/dnsmasq-forwarders.conf r,
|
|
- @{run}/dnsmasq/ r,
|
|
- @{run}/dnsmasq/* rw,
|
|
-
|
|
+ /usr/{bin,sbin}/dnsmasq mr,
|
|
+ /var/lib/NetworkManager/dnsmasq-*.leases rw,
|
|
+ /var/lib/libvirt/dnsmasq/ r,
|
|
+ /var/lib/libvirt/dnsmasq/* r,
|
|
+ /var/lib/lxd-bridge/dnsmasq.*.leases rw,
|
|
+ /var/lib/lxd/networks/*/dnsmasq.* r,
|
|
+ /var/lib/lxd/networks/*/dnsmasq.leases rw,
|
|
+ /var/lib/lxd/networks/*/dnsmasq.pid rw,
|
|
+ /var/lib/misc/dnsmasq.*.leases rw,
|
|
/var/lib/misc/dnsmasq.leases rw, # Required only for DHCP server usage
|
|
-
|
|
+ /var/log/dnsmasq*.log w,
|
|
/{,usr/}bin/{ba,da,}sh ix, # Required to execute --dhcp-script argument
|
|
-
|
|
- # access to iface mtu needed for Router Advertisement messages in IPv6
|
|
- # Neighbor Discovery protocol (RFC 2461)
|
|
+ @{PROC}/@{pid}/fd/ r,
|
|
@{PROC}/sys/net/ipv6/conf/*/mtu r,
|
|
-
|
|
- # for the read-only TFTP server
|
|
@{TFTP_DIR}/ r,
|
|
@{TFTP_DIR}/** r,
|
|
-
|
|
- # libvirt config and hosts file for dnsmasq
|
|
- /var/lib/libvirt/dnsmasq/ r,
|
|
- /var/lib/libvirt/dnsmasq/* r,
|
|
-
|
|
- # libvirt pid files for dnsmasq
|
|
- @{run}/libvirt/network/ r,
|
|
+ @{run}/*dnsmasq*.pid w,
|
|
+ @{run}/NetworkManager/NetworkManager.pid w,
|
|
+ @{run}/NetworkManager/dnsmasq.conf r,
|
|
+ @{run}/NetworkManager/dnsmasq.pid w,
|
|
+ @{run}/dnsmasq-forwarders.conf r,
|
|
+ @{run}/dnsmasq/ r,
|
|
+ @{run}/dnsmasq/* rw,
|
|
+ @{run}/libvirt/network/ r,
|
|
@{run}/libvirt/network/*.pid rw,
|
|
-
|
|
- # libvirt lease helper
|
|
- /usr/lib{,64}/libvirt/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
|
|
- /usr/libexec/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
|
|
-
|
|
- # lxc-net pid and lease files
|
|
- @{run}/lxc/dnsmasq.pid rw,
|
|
- /var/lib/misc/dnsmasq.*.leases rw,
|
|
-
|
|
- # lxd-bridge pid and lease files
|
|
- @{run}/lxd-bridge/dnsmasq.pid rw,
|
|
- /var/lib/lxd-bridge/dnsmasq.*.leases rw,
|
|
- /var/lib/lxd/networks/*/dnsmasq.* r,
|
|
- /var/lib/lxd/networks/*/dnsmasq.leases rw,
|
|
- /var/lib/lxd/networks/*/dnsmasq.pid rw,
|
|
-
|
|
- # NetworkManager integration
|
|
- /var/lib/NetworkManager/dnsmasq-*.leases rw,
|
|
+ @{run}/lxc/dnsmasq.pid rw,
|
|
+ @{run}/lxd-bridge/dnsmasq.pid rw,
|
|
@{run}/nm-dns-dnsmasq.conf r,
|
|
@{run}/nm-dnsmasq-*.pid rw,
|
|
@{run}/sendsigs.omit.d/*dnsmasq.pid w,
|
|
- @{run}/NetworkManager/dnsmasq.conf r,
|
|
- @{run}/NetworkManager/dnsmasq.pid w,
|
|
- @{run}/NetworkManager/NetworkManager.pid w,
|
|
+ owner /dev/tty rw,
|
|
+
|
|
|
|
profile libvirt_leaseshelper {
|
|
include <abstractions/base>
|
|
|
|
/etc/libnl-3/classid r,
|
|
-
|
|
- /usr/lib{,64}/libvirt/libvirt_leaseshelper m,
|
|
/usr/libexec/libvirt_leaseshelper m,
|
|
-
|
|
- owner @{PROC}/@{pid}/net/psched r,
|
|
- owner @{PROC}/@{pid}/status r,
|
|
-
|
|
+ /usr/lib{,64}/libvirt/libvirt_leaseshelper m,
|
|
+ /var/lib/libvirt/dnsmasq/*.leases rw,
|
|
+ /var/lib/libvirt/dnsmasq/*.status* rw,
|
|
+ @{run}/leaseshelper.pid rwk,
|
|
@{sys}/devices/system/cpu/ r,
|
|
@{sys}/devices/system/node/ r,
|
|
@{sys}/devices/system/node/*/meminfo r,
|
|
+ owner @{PROC}/@{pid}/net/psched r,
|
|
+ owner @{PROC}/@{pid}/status r,
|
|
|
|
- # libvirt lease and status files for dnsmasq
|
|
- /var/lib/libvirt/dnsmasq/*.leases rw,
|
|
- /var/lib/libvirt/dnsmasq/*.status* rw,
|
|
-
|
|
- @{run}/leaseshelper.pid rwk,
|
|
}
|
|
-
|
|
- # Site-specific additions and overrides. See local/README for details.
|
|
- include if exists <local/usr.sbin.dnsmasq>
|
|
}
|