210 lines
6.2 KiB
Plaintext
210 lines
6.2 KiB
Plaintext
policy_module(gnome, 2.10.0)
|
|
|
|
##############################
|
|
#
|
|
# Declarations
|
|
#
|
|
|
|
attribute gkeyringd_domain;
|
|
attribute gnomedomain;
|
|
attribute_role gconfd_roles;
|
|
|
|
type gconf_etc_t;
|
|
files_config_file(gconf_etc_t)
|
|
|
|
type gconf_home_t;
|
|
typealias gconf_home_t alias { user_gconf_home_t staff_gconf_home_t sysadm_gconf_home_t };
|
|
typealias gconf_home_t alias { auditadm_gconf_home_t secadm_gconf_home_t };
|
|
typealias gconf_home_t alias unconfined_gconf_home_t;
|
|
userdom_user_home_content(gconf_home_t)
|
|
|
|
type gconf_tmp_t;
|
|
typealias gconf_tmp_t alias { user_gconf_tmp_t staff_gconf_tmp_t sysadm_gconf_tmp_t };
|
|
typealias gconf_tmp_t alias { auditadm_gconf_tmp_t secadm_gconf_tmp_t };
|
|
typealias gconf_tmp_t alias unconfined_gconf_tmp_t;
|
|
userdom_user_tmp_file(gconf_tmp_t)
|
|
|
|
type gconfd_t, gnomedomain;
|
|
type gconfd_exec_t;
|
|
typealias gconfd_t alias { user_gconfd_t staff_gconfd_t sysadm_gconfd_t };
|
|
typealias gconfd_t alias { auditadm_gconfd_t secadm_gconfd_t };
|
|
userdom_user_application_domain(gconfd_t, gconfd_exec_t)
|
|
role gconfd_roles types gconfd_t;
|
|
|
|
type gnome_home_t;
|
|
typealias gnome_home_t alias { user_gnome_home_t staff_gnome_home_t sysadm_gnome_home_t };
|
|
typealias gnome_home_t alias { auditadm_gnome_home_t secadm_gnome_home_t };
|
|
typealias gnome_home_t alias unconfined_gnome_home_t;
|
|
userdom_user_home_content(gnome_home_t)
|
|
|
|
type gkeyringd_exec_t;
|
|
application_executable_file(gkeyringd_exec_t)
|
|
|
|
type gnome_keyring_home_t;
|
|
userdom_user_home_content(gnome_keyring_home_t)
|
|
|
|
type gnome_keyring_tmp_t;
|
|
userdom_user_tmp_file(gnome_keyring_tmp_t)
|
|
userdom_user_runtime_content(gnome_keyring_tmp_t)
|
|
|
|
type gnome_xdg_cache_t;
|
|
xdg_cache_content(gnome_xdg_cache_t)
|
|
|
|
type gnome_xdg_config_t;
|
|
xdg_config_content(gnome_xdg_config_t)
|
|
|
|
type gnome_xdg_data_t;
|
|
xdg_data_content(gnome_xdg_data_t)
|
|
|
|
type gstreamer_orcexec_t;
|
|
application_executable_file(gstreamer_orcexec_t)
|
|
userdom_user_runtime_content(gstreamer_orcexec_t)
|
|
|
|
##############################
|
|
#
|
|
# Common local Policy
|
|
#
|
|
|
|
allow gnomedomain self:process { getsched signal };
|
|
allow gnomedomain self:fifo_file rw_fifo_file_perms;
|
|
|
|
dev_read_urand(gnomedomain)
|
|
|
|
domain_use_interactive_fds(gnomedomain)
|
|
|
|
files_read_etc_files(gnomedomain)
|
|
|
|
miscfiles_read_localization(gnomedomain)
|
|
|
|
logging_send_syslog_msg(gnomedomain)
|
|
|
|
userdom_use_user_terminals(gnomedomain)
|
|
|
|
optional_policy(`
|
|
xserver_rw_xsession_log(gnomedomain)
|
|
xserver_rw_xdm_pipes(gnomedomain)
|
|
xserver_use_xdm_fds(gnomedomain)
|
|
')
|
|
|
|
##############################
|
|
#
|
|
# Conf daemon local Policy
|
|
#
|
|
|
|
allow gconfd_t gconf_etc_t:dir list_dir_perms;
|
|
read_files_pattern(gconfd_t, gconf_etc_t, gconf_etc_t)
|
|
|
|
manage_dirs_pattern(gconfd_t, gconf_home_t, gconf_home_t)
|
|
manage_files_pattern(gconfd_t, gconf_home_t, gconf_home_t)
|
|
userdom_user_home_dir_filetrans(gconfd_t, gconf_home_t, dir)
|
|
|
|
manage_dirs_pattern(gconfd_t, gconf_tmp_t, gconf_tmp_t)
|
|
manage_files_pattern(gconfd_t, gconf_tmp_t, gconf_tmp_t)
|
|
userdom_user_tmp_filetrans(gconfd_t, gconf_tmp_t, { dir file })
|
|
|
|
manage_dirs_pattern(gconfd_t, gnome_xdg_cache_t, gnome_xdg_cache_t)
|
|
manage_files_pattern(gconfd_t, gnome_xdg_cache_t, gnome_xdg_cache_t)
|
|
xdg_cache_filetrans(gconfd_t, gnome_xdg_cache_t, dir)
|
|
|
|
manage_dirs_pattern(gconfd_t, gnome_xdg_config_t, gnome_xdg_config_t)
|
|
manage_files_pattern(gconfd_t, gnome_xdg_config_t, gnome_xdg_config_t)
|
|
xdg_config_filetrans(gconfd_t, gnome_xdg_config_t, dir)
|
|
|
|
manage_dirs_pattern(gconfd_t, gnome_xdg_data_t, gnome_xdg_data_t)
|
|
manage_files_pattern(gconfd_t, gnome_xdg_data_t, gnome_xdg_data_t)
|
|
xdg_data_filetrans(gconfd_t, gnome_xdg_data_t, dir)
|
|
|
|
# for /proc/filesystems
|
|
kernel_read_system_state(gconfd_t)
|
|
|
|
# for /var/lib/gconf/defaults
|
|
files_read_var_lib_files(gconfd_t)
|
|
|
|
userdom_manage_user_tmp_dirs(gconfd_t)
|
|
userdom_manage_user_tmp_sockets(gconfd_t)
|
|
userdom_tmp_filetrans_user_tmp(gconfd_t, { dir sock_file })
|
|
userdom_user_runtime_filetrans_user_tmp(gconfd_t, dir)
|
|
|
|
optional_policy(`
|
|
dbus_all_session_domain(gconfd_t, gconfd_exec_t)
|
|
|
|
dbus_system_bus_client(gconfd_t)
|
|
|
|
optional_policy(`
|
|
pulseaudio_dbus_chat(gconfd_t)
|
|
')
|
|
')
|
|
|
|
optional_policy(`
|
|
nscd_dontaudit_search_pid(gconfd_t)
|
|
')
|
|
|
|
optional_policy(`
|
|
ooffice_stream_connect(gconfd_t)
|
|
')
|
|
|
|
optional_policy(`
|
|
pulseaudio_stream_connect(gconfd_t)
|
|
')
|
|
|
|
##############################
|
|
#
|
|
# Keyring-daemon local policy
|
|
#
|
|
|
|
allow gkeyringd_domain self:capability ipc_lock;
|
|
allow gkeyringd_domain self:process { getcap setcap };
|
|
allow gkeyringd_domain self:unix_stream_socket { connectto accept listen };
|
|
|
|
allow gkeyringd_domain gnome_home_t:dir create_dir_perms;
|
|
gnome_home_filetrans_gnome_home(gkeyringd_domain, dir, ".gnome2")
|
|
|
|
manage_dirs_pattern(gkeyringd_domain, gnome_keyring_home_t, gnome_keyring_home_t)
|
|
manage_files_pattern(gkeyringd_domain, gnome_keyring_home_t, gnome_keyring_home_t)
|
|
gnome_home_filetrans(gkeyringd_domain, gnome_keyring_home_t, dir, "keyrings")
|
|
|
|
manage_dirs_pattern(gkeyringd_domain, gnome_keyring_tmp_t, gnome_keyring_tmp_t)
|
|
manage_sock_files_pattern(gkeyringd_domain, gnome_keyring_tmp_t, gnome_keyring_tmp_t)
|
|
files_tmp_filetrans(gkeyringd_domain, gnome_keyring_tmp_t, dir)
|
|
userdom_user_runtime_filetrans(gkeyringd_domain, gnome_keyring_tmp_t, dir)
|
|
|
|
manage_dirs_pattern(gkeyringd_domain, gnome_xdg_cache_t, gnome_xdg_cache_t)
|
|
manage_files_pattern(gkeyringd_domain, gnome_xdg_cache_t, gnome_xdg_cache_t)
|
|
manage_sock_files_pattern(gkeyringd_domain, gnome_xdg_cache_t, gnome_xdg_cache_t)
|
|
xdg_cache_filetrans(gkeyringd_domain, gnome_xdg_cache_t, dir)
|
|
|
|
manage_dirs_pattern(gkeyringd_domain, gnome_xdg_config_t, gnome_xdg_config_t)
|
|
manage_files_pattern(gkeyringd_domain, gnome_xdg_config_t, gnome_xdg_config_t)
|
|
xdg_config_filetrans(gkeyringd_domain, gnome_xdg_config_t, dir)
|
|
|
|
manage_dirs_pattern(gkeyringd_domain, gnome_xdg_data_t, gnome_xdg_data_t)
|
|
manage_files_pattern(gkeyringd_domain, gnome_xdg_data_t, gnome_xdg_data_t)
|
|
xdg_data_filetrans(gkeyringd_domain, gnome_xdg_data_t, dir)
|
|
|
|
kernel_read_crypto_sysctls(gkeyringd_domain)
|
|
kernel_read_kernel_sysctls(gkeyringd_domain)
|
|
kernel_read_system_state(gkeyringd_domain)
|
|
|
|
dev_read_rand(gkeyringd_domain)
|
|
dev_read_sysfs(gkeyringd_domain)
|
|
|
|
files_read_usr_files(gkeyringd_domain)
|
|
|
|
fs_getattr_all_fs(gkeyringd_domain)
|
|
|
|
selinux_getattr_fs(gkeyringd_domain)
|
|
|
|
seutil_read_config(gkeyringd_domain)
|
|
|
|
optional_policy(`
|
|
ssh_read_user_home_files(gkeyringd_domain)
|
|
')
|
|
|
|
optional_policy(`
|
|
telepathy_mission_control_read_state(gkeyringd_domain)
|
|
')
|
|
|
|
optional_policy(`
|
|
xserver_rw_xsession_log(gkeyringd_domain)
|
|
')
|