100919ce74
With Podman's custom networks, pasta will typically need to open the target network namespace at /run/user/<UID>/containers/networks: grant access to anything under /run/user/<UID> instead of limiting it to some subpath. Note that in this case, Podman will need pasta to write out a PID file, so we need write access, for similar locations, too. Reported-by: Jörg Sonnenberger <joerg@bec.de> Link: https://github.com/containers/buildah/issues/5440 Link: https://bugzilla.suse.com/show_bug.cgi?id=1221840 Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# PASST - Plug A Simple Socket Transport
|
|
# for qemu/UNIX domain socket mode
|
|
#
|
|
# PASTA - Pack A Subtle Tap Abstraction
|
|
# for network namespace/tap device mode
|
|
#
|
|
# contrib/apparmor/abstractions/pasta - Abstraction for pasta(1)
|
|
#
|
|
# Copyright (c) 2022 Red Hat GmbH
|
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
|
|
|
abi <abi/3.0>,
|
|
|
|
include <abstractions/passt>
|
|
|
|
mount "" -> "/proc/",
|
|
|
|
@{PROC}/net/tcp r, # procfs_scan_listen(), util.c
|
|
@{PROC}/net/tcp6 r,
|
|
@{PROC}/net/udp r,
|
|
@{PROC}/net/udp6 r,
|
|
|
|
@{PROC}/@{pid}/net/tcp r, # procfs_scan_listen(), util.c
|
|
@{PROC}/@{pid}/net/tcp6 r,
|
|
@{PROC}/@{pid}/net/udp r,
|
|
@{PROC}/@{pid}/net/udp6 r,
|
|
|
|
@{run}/user/@{uid}/** rw, # pasta_open_ns(), main()
|
|
|
|
@{PROC}/[0-9]*/ns/net r, # pasta_wait_for_ns(),
|
|
@{PROC}/[0-9]*/ns/user r, # conf_pasta_ns()
|
|
|
|
/dev/net/tun rw, # tap_ns_tun(), tap.c
|
|
|
|
owner @{PROC}/@{pid}/gid_map w, # pasta_start_ns(), conf_ugid()
|
|
owner @{PROC}/@{pid}/setgroups w,
|
|
owner @{PROC}/@{pid}/uid_map rw,
|
|
|
|
owner @{PROC}/sys/net/ipv4/ping_group_range w, # pasta_spawn_cmd(), pasta.c
|
|
/{usr/,}bin/** Ux,
|
|
|
|
/usr/bin/pasta.avx2 ix, # arch_avx2_exec(), arch.c
|