selinux-refpolicy/policy/modules/system/unconfined.te
Christian Göttsche 4b05e1e9c3 SELint userspace class tweaks
SELint version 1.5 emits issues for missing or unused declarations of
userspace classes:

    init.te:            270: (W): No explicit declaration for userspace class system.  You should access it via interface call or use a require block. (W-001)
    init.te:            312: (W): No explicit declaration for userspace class service.  You should access it via interface call or use a require block. (W-001)
    init.te:           1116: (W): No explicit declaration for userspace class system.  You should access it via interface call or use a require block. (W-001)
    init.te:           1124: (W): No explicit declaration for userspace class service.  You should access it via interface call or use a require block. (W-001)
    init.te:           1132: (W): No explicit declaration for userspace class service.  You should access it via interface call or use a require block. (W-001)
    init.te:           1136: (W): No explicit declaration for userspace class service.  You should access it via interface call or use a require block. (W-001)
    init.te:           1137: (W): No explicit declaration for userspace class service.  You should access it via interface call or use a require block. (W-001)
    unconfined.te:       64: (W): No explicit declaration for userspace class system.  You should access it via interface call or use a require block. (W-001)
    systemd.te:        1250: (W): No explicit declaration for userspace class dbus.  You should access it via interface call or use a require block. (W-001)
    systemd.te:        1377: (W): No explicit declaration for userspace class dbus.  You should access it via interface call or use a require block. (W-001)
    devicekit.te:        56: (W): No explicit declaration for userspace class dbus.  You should access it via interface call or use a require block. (W-001)
    devicekit.te:       157: (W): No explicit declaration for userspace class dbus.  You should access it via interface call or use a require block. (W-001)
    devicekit.te:       297: (W): No explicit declaration for userspace class dbus.  You should access it via interface call or use a require block. (W-001)
    kernel.te:          566: (W): No explicit declaration for userspace class system.  You should access it via interface call or use a require block. (W-001)
    chromium.if:        139: (W): Class dbus is listed in require block but not used in interface (W-003)
    init.if:           1192: (W): Class system is used in interface but not required (W-002)
    init.if:           1210: (W): Class system is used in interface but not required (W-002)
    init.if:           1228: (W): Class system is used in interface but not required (W-002)
    init.if:           1246: (W): Class system is used in interface but not required (W-002)
    init.if:           1264: (W): Class system is used in interface but not required (W-002)
    init.if:           1282: (W): Class system is used in interface but not required (W-002)
    init.if:           1300: (W): Class system is used in interface but not required (W-002)
    init.if:           1318: (W): Class system is used in interface but not required (W-002)
    init.if:           1393: (W): Class bpf is listed in require block but is not a userspace class (W-003)
    unconfined.if:       34: (W): Class service is listed in require block but not used in interface (W-003)
    systemd.if:         144: (W): Class system is used in interface but not required (W-002)
    systemd.if:         159: (W): Class service is used in interface but not required (W-002)
    systemd.if:         160: (W): Class service is used in interface but not required (W-002)
    systemd.if:         413: (W): Class system is used in interface but not required (W-002)
    systemd.if:         437: (W): Class system is used in interface but not required (W-002)
    systemd.if:         461: (W): Class system is used in interface but not required (W-002)
    postgresql.if:       31: (W): Class db_database is listed in require block but not used in interface (W-003)
    postgresql.if:       37: (W): Class db_language is listed in require block but not used in interface (W-003)
    postgresql.if:      465: (W): Class db_database is listed in require block but not used in interface (W-003)
    postgresql.if:      471: (W): Class db_language is listed in require block but not used in interface (W-003)
    xserver.if:         370: (W): Class x_property is listed in require block but not used in interface (W-003)
    Found the following issue counts:
    W-001: 14
    W-002: 14
    W-003: 8

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
2024-01-10 17:02:41 +01:00

253 lines
5.5 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
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 { status start stop reload };
')
# 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 { status start stop reload };
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_domtrans_mkhomedir(unconfined_t)
')
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 { execstack execmem };
unconfined_domain_noaudit(unconfined_execmem_t)
optional_policy(`
unconfined_dbus_chat(unconfined_execmem_t)
')