1
0
mirror of https://github.com/SELinuxProject/refpolicy synced 2025-03-11 07:40:18 +00:00
selinux-refpolicy/policy/modules/system/unconfined.te
Clayton Casciato bcb8e1d4db
unconfined: fix oddjob security_compute_sid
type=PROCTITLE proctitle=mkhomedir_helper user123 0077

type=SYSCALL syscall=socket per=PER_LINUX success=yes exit=3 a0=local
a1=SOCK_STREAM a2=ip a3=0xbee9d8a8 items=0 ppid=404 pid=1386 auid=unset
uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root
fsgid=root tty=ttyAMA0 ses=unset comm=mkhomedir_helpe
exe=/usr/sbin/mkhomedir_helper
subj=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
key=(null)

type=SELINUX_ERR op=security_compute_sid
invalid_context=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
tcontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
tclass=unix_stream_socket

--

Similar problem and resolution:
https://github.com/SELinuxProject/refpolicy/pull/171

--

Fedora:
https://github.com/fedora-selinux/selinux-policy/blob/v41.33/policy/modules/roles/unconfineduser.te#L365

--

Reference:
https://github.com/SELinuxProject/selinux-notebook/blob/main/src/auditing.md#general-selinux-audit-events

Signed-off-by: Clayton Casciato <ccasciato@21sw.us>
2025-03-03 10:54:35 -07:00

267 lines
5.9 KiB
Plaintext

policy_module(unconfined)
########################################
#
# Declarations
#
# usage in this module of types created by these
# calls is not correct, however we dont currently
# have another method to add access to these types
role unconfined_r;
userdom_base_user_template(unconfined)
userdom_manage_home_role(unconfined_r, unconfined_t)
userdom_manage_tmp_role(unconfined_r, unconfined_t)
userdom_manage_tmpfs_role(unconfined_r, unconfined_t)
type unconfined_exec_t;
init_system_domain(unconfined_t, unconfined_exec_t)
type unconfined_execmem_t alias ada_t;
type unconfined_execmem_exec_t alias ada_exec_t;
init_system_domain(unconfined_execmem_t, unconfined_execmem_exec_t)
role unconfined_r types unconfined_execmem_t;
########################################
#
# Local policy
#
domtrans_pattern(unconfined_t, unconfined_execmem_exec_t, unconfined_execmem_t)
files_create_boot_flag(unconfined_t)
libs_run_ldconfig(unconfined_t, unconfined_r)
logging_send_syslog_msg(unconfined_t)
logging_run_auditctl(unconfined_t, unconfined_r)
mount_run_unconfined(unconfined_t, unconfined_r)
seutil_run_setfiles(unconfined_t, unconfined_r)
seutil_run_semanage(unconfined_t, unconfined_r)
unconfined_domain(unconfined_t)
userdom_user_home_dir_filetrans_user_home_content(unconfined_t, { dir file lnk_file fifo_file sock_file })
ifdef(`direct_sysadm_daemon',`
optional_policy(`
init_run_daemon(unconfined_t, unconfined_r)
')
',`
ifdef(`distro_gentoo',`
seutil_run_runinit(unconfined_t, unconfined_r)
seutil_init_script_run_runinit(unconfined_t, unconfined_r)
')
')
ifdef(`init_systemd',`
gen_require(`
class system { reload start status stop };
')
# for systemd-analyze
init_service_status(unconfined_t)
# for systemd --user:
init_linkable_keyring(unconfined_t)
init_pgm_spec_user_daemon_domain(unconfined_t)
allow unconfined_t self:system { reload start status stop };
optional_policy(`
systemd_dbus_chat_resolved(unconfined_t)
systemd_filetrans_passwd_runtime_dirs(unconfined_t)
')
')
optional_policy(`
apache_run_helper(unconfined_t, unconfined_r)
apache_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
bind_run_ndc(unconfined_t, unconfined_r)
')
optional_policy(`
bluetooth_dbus_chat(unconfined_t)
')
optional_policy(`
bootloader_run(unconfined_t, unconfined_r)
')
optional_policy(`
container_unconfined_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
cron_unconfined_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
dpkg_nnp_domtrans(unconfined_t)
dpkg_run(unconfined_t, unconfined_r)
')
optional_policy(`
firstboot_run(unconfined_t, unconfined_r)
')
optional_policy(`
ftp_run_ftpdctl(unconfined_t, unconfined_r)
')
optional_policy(`
hadoop_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
init_admin(unconfined_t)
')
optional_policy(`
inn_domtrans(unconfined_t)
')
optional_policy(`
java_run_unconfined(unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
lpd_run_checkpc(unconfined_t, unconfined_r)
')
optional_policy(`
lvm_run(unconfined_t, unconfined_r)
')
optional_policy(`
modemmanager_dbus_chat(unconfined_t)
')
optional_policy(`
modutils_run(unconfined_t, unconfined_r)
')
optional_policy(`
mono_run(unconfined_t, unconfined_r)
')
optional_policy(`
mta_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
oddjob_run_mkhomedir(unconfined_t, unconfined_r)
')
optional_policy(`
portage_run(unconfined_t, unconfined_r)
portage_run_fetch(unconfined_t, unconfined_r)
portage_run_gcc_config(unconfined_t, unconfined_r)
')
optional_policy(`
prelink_run(unconfined_t, unconfined_r)
')
optional_policy(`
portmap_run_helper(unconfined_t, unconfined_r)
')
optional_policy(`
postfix_run_map(unconfined_t, unconfined_r)
# cjp: this should probably be removed:
postfix_domtrans_master(unconfined_t)
')
optional_policy(`
pyzor_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
# cjp: this should probably be removed:
rpc_domtrans_nfsd(unconfined_t)
')
optional_policy(`
rtkit_scheduled(unconfined_t)
')
optional_policy(`
rpm_run(unconfined_t, unconfined_r)
')
optional_policy(`
samba_run_net(unconfined_t, unconfined_r)
samba_run_winbind_helper(unconfined_t, unconfined_r)
')
optional_policy(`
spamassassin_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
syncthing_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
')
optional_policy(`
sysnet_run_dhcpc(unconfined_t, unconfined_r)
sysnet_dbus_chat_dhcpc(unconfined_t)
')
optional_policy(`
tzdata_run(unconfined_t, unconfined_r)
')
optional_policy(`
unconfined_dbus_chat(unconfined_t)
')
optional_policy(`
usermanage_run_admin_passwd(unconfined_t, unconfined_r)
')
optional_policy(`
vpn_run(unconfined_t, unconfined_r)
')
optional_policy(`
webalizer_run(unconfined_t, unconfined_r)
')
optional_policy(`
wine_run(unconfined_t, unconfined_r)
')
optional_policy(`
xserver_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r)
xserver_dbus_chat_xdm(unconfined_t)
')
########################################
#
# Unconfined Execmem Local policy
#
allow unconfined_execmem_t self:process { execmem execstack };
unconfined_domain_noaudit(unconfined_execmem_t)
optional_policy(`
unconfined_dbus_chat(unconfined_execmem_t)
')
########################################
#
# Unconfined seuser
#
ifdef(`direct_sysadm_daemon',`
gen_user(unconfined_u, unconfined, unconfined_r system_r, s0, s0 - mls_systemhigh, mcs_allcats)
',`
gen_user(unconfined_u, unconfined, unconfined_r, s0, s0 - mls_systemhigh, mcs_allcats)
')