++##
++## Allow user_t confined users to run podman containers.
++## Disabled by default since user_t is the most restricted
++## confined user type.
++##
++##
++gen_tunable(user_t_run_containers, false)
++
+ attribute container_runtime_domain;
+ container_runtime_domain_template(container_runtime)
+ typealias container_runtime_t alias docker_t;
+@@ -1272,13 +1281,25 @@
+ allow userdomain self:cap_userns ~{ sys_module };
+ container_read_state(userdomain)
+ allow userdomain container_runtime_t:process { noatsecure rlimitinh siginh };
+- container_runtime_run(user_t, user_r)
++ role user_r types container_runtime_t;
+ role user_r types container_user_domain;
+
+ staff_role_change_to(system_r)
++ unprivuser_role_change_to(system_r)
+
+ allow staff_t container_runtime_t:process signal_perms;
+ allow staff_t container_domain:process signal_perms;
++
++ # Allow confined user systemd instances to create and manage sockets
++ # for podman.socket activation (user-level systemd pre-labels the
++ # socket as container_runtime_t via setsockcreatecon)
++ allow { staff_t user_t } container_runtime_t:unix_stream_socket { create bind listen getattr setopt };
++
++ tunable_policy(`user_t_run_containers',`
++ container_runtime_domtrans(user_t)
++ allow user_t container_runtime_t:process signal_perms;
++ allow user_t container_domain:process signal_perms;
++ ')
+ allow container_domain userdomain:socket_class_set { accept ioctl read getattr lock write append getopt shutdown setopt };
+ ')
+
diff --git a/SPECS/container-selinux.spec b/SPECS/container-selinux.spec
index c7278bb..38ae7cd 100644
--- a/SPECS/container-selinux.spec
+++ b/SPECS/container-selinux.spec
@@ -20,11 +20,12 @@
Epoch: 2
Name: container-selinux
Version: 2.229.0
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2
URL: %{git0}
Summary: SELinux policies for container runtimes
Source0: %{git0}/archive/v%{version}.tar.gz
+Patch0: 0001-user_t-confined-user-container-support.patch
BuildArch: noarch
BuildRequires: git
BuildRequires: pkgconfig(systemd)
@@ -123,6 +124,10 @@ fi
%{_datadir}/udica/templates/*
%changelog
+* Tue May 05 2026 Jindrich Novy