[selinux-policy: 2820/3172] Update f14

Daniel J Walsh dwalsh at fedoraproject.org
Thu Oct 7 23:11:04 UTC 2010


commit a947daf6df4fe2bd077e0c42d71d6578eaaa5464
Author: Dan Walsh <dwalsh at redhat.com>
Date:   Thu Aug 26 10:27:35 2010 -0400

    Update f14

 policy/modules/admin/accountsd.fc    |    3 -
 policy/modules/admin/accountsd.if    |  173 --------------------------------
 policy/modules/apps/gnome.if         |  183 ++++++++++++----------------------
 policy/modules/apps/telepathy.te     |    4 +-
 policy/modules/kernel/files.if       |   19 ----
 policy/modules/kernel/terminal.if    |    2 +
 policy/modules/roles/dbadm.te        |   44 ++-------
 policy/modules/services/accountsd.te |    7 ++
 policy/modules/services/cron.te      |    1 +
 policy/modules/system/init.te        |    4 +-
 10 files changed, 85 insertions(+), 355 deletions(-)
---
diff --git a/policy/modules/apps/gnome.if b/policy/modules/apps/gnome.if
index c6a1872..852f36f 100644
--- a/policy/modules/apps/gnome.if
+++ b/policy/modules/apps/gnome.if
@@ -37,46 +37,26 @@ interface(`gnome_role',`
 
 ########################################
 ## <summary>
-##	Execute gconf programs in
-##	in the caller domain.
-## </summary>
-## <param name="domain">
-##	<summary>
-##	Domain allowed access.
-##	</summary>
-## </param>
-#
-interface(`gnome_exec_gconf',`
-	gen_require(`
-		type gconfd_exec_t;
-	')
-
-	can_exec($1, gconfd_exec_t)
-')
-
-########################################
-## <summary>
-##	Read gconf config files.
+##	gconf connection template.
 ## </summary>
 ## <param name="user_domain">
 ##	<summary>
-##	Domain allowed access.
+##	The type of the user domain.
 ##	</summary>
 ## </param>
 #
-template(`gnome_read_gconf_config',`
+interface(`gnome_stream_connect_gconf',`
 	gen_require(`
-		type gconf_etc_t;
+		type gconfd_t, gconf_tmp_t;
 	')
 
-	allow $1 gconf_etc_t:dir list_dir_perms;
-	read_files_pattern($1, gconf_etc_t, gconf_etc_t)
-	files_search_etc($1)
+	read_files_pattern($1, gconf_tmp_t, gconf_tmp_t)
+	allow $1 gconfd_t:unix_stream_socket connectto;
 ')
 
-#######################################
+########################################
 ## <summary>
-##	Create, read, write, and delete gconf config files.
+##	Run gconfd in gconfd domain.
 ## </summary>
 ## <param name="domain">
 ##	<summary>
@@ -84,70 +64,51 @@ template(`gnome_read_gconf_config',`
 ##	</summary>
 ## </param>
 #
-interface(`gnome_manage_gconf_config',`
+interface(`gnome_domtrans_gconfd',`
 	gen_require(`
-		type gconf_etc_t;
+		type gconfd_t, gconfd_exec_t;
 	')
 
-	manage_files_pattern($1, gconf_etc_t, gconf_etc_t)
-	files_search_etc($1)
+	domtrans_pattern($1, gconfd_exec_t, gconfd_t)
 ')
 
 ########################################
 ## <summary>
-##	gconf connection template.
+##	Dontaudit search gnome homedir content (.config)
 ## </summary>
 ## <param name="user_domain">
 ##	<summary>
-##	Domain allowed access.
-##	</summary>
-## </param>
-#
-interface(`gnome_stream_connect_gconf',`
-	gen_require(`
-		type gconfd_t, gconf_tmp_t;
-	')
-
-	read_files_pattern($1, gconf_tmp_t, gconf_tmp_t)
-	allow $1 gconfd_t:unix_stream_socket connectto;
-')
-
-########################################
-## <summary>
-##	Run gconfd in gconfd domain.
-## </summary>
-## <param name="domain">
-##	<summary>
-##	Domain allowed access.
+##	The type of the user domain.
 ##	</summary>
 ## </param>
 #
-interface(`gnome_domtrans_gconfd',`
+interface(`gnome_dontaudit_search_config',`
 	gen_require(`
-		type gconfd_t, gconfd_exec_t;
+		attribute gnome_home_type;
 	')
 
-	domtrans_pattern($1, gconfd_exec_t, gconfd_t)
+	dontaudit $1 gnome_home_type:dir search_dir_perms;
 ')
 
 ########################################
 ## <summary>
-##	Read gnome homedir content (.config)
+##	manage gnome homedir content (.config)
 ## </summary>
 ## <param name="user_domain">
 ##	<summary>
-##	Domain allowed access.
+##	The type of the user domain.
 ##	</summary>
 ## </param>
 #
-template(`gnome_read_config',`
+interface(`gnome_manage_config',`
 	gen_require(`
 		attribute gnome_home_type;
 	')
 
-	list_dirs_pattern($1, gnome_home_type, gnome_home_type)
-	read_files_pattern($1, gnome_home_type, gnome_home_type)
-	read_lnk_files_pattern($1, gnome_home_type, gnome_home_type)
+	allow $1 gnome_home_type:dir manage_dir_perms;
+	allow $1 gnome_home_type:file manage_file_perms;
+	allow $1 gnome_home_type:lnk_file manage_lnk_file_perms;
+	userdom_search_user_home_dirs($1)
 ')
 
 ########################################
@@ -258,6 +219,45 @@ interface(`gnome_write_generic_cache_files',`
 
 ########################################
 ## <summary>
+##	read gnome homedir content (.config)
+## </summary>
+## <param name="user_domain">
+##	<summary>
+##	The type of the user domain.
+##	</summary>
+## </param>
+#
+template(`gnome_read_config',`
+	gen_require(`
+		attribute gnome_home_type;
+	')
+
+	list_dirs_pattern($1, gnome_home_type, gnome_home_type)
+	read_files_pattern($1, gnome_home_type, gnome_home_type)
+	read_lnk_files_pattern($1, gnome_home_type, gnome_home_type)
+')
+
+########################################
+## <summary>
+##	Set attributes of Gnome config dirs.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`gnome_setattr_config_dirs',`
+	gen_require(`
+		type gnome_home_t;
+	')
+
+	setattr_dirs_pattern($1, gnome_home_t, gnome_home_t)
+	files_search_home($1)
+')
+
+########################################
+## <summary>
 ##	Create objects in a Gnome gconf home directory
 ##	with an automatic type transition to
 ##	a specified private type.
@@ -525,62 +525,3 @@ interface(`gnome_dbus_chat_gconfdefault',`
 	allow $1 gconfdefaultsm_t:dbus send_msg;
 	allow gconfdefaultsm_t $1:dbus send_msg;
 ')
-
-########################################
-## <summary>
-##	Dontaudit search gnome homedir content (.config)
-## </summary>
-## <param name="user_domain">
-##	<summary>
-##	The type of the user domain.
-##	</summary>
-## </param>
-#
-interface(`gnome_dontaudit_search_config',`
-	gen_require(`
-		attribute gnome_home_type;
-	')
-
-	dontaudit $1 gnome_home_type:dir search_dir_perms;
-')
-
-########################################
-## <summary>
-##	Set attributes of Gnome config dirs.
-## </summary>
-## <param name="domain">
-##	<summary>
-##	Domain allowed access.
-##	</summary>
-## </param>
-#
-interface(`gnome_setattr_config_dirs',`
-	gen_require(`
-		type gnome_home_t;
-	')
-
-	setattr_dirs_pattern($1, gnome_home_t, gnome_home_t)
-	files_search_home($1)
-')
-
-########################################
-## <summary>
-##	manage gnome homedir content (.config)
-## </summary>
-## <param name="user_domain">
-##	<summary>
-##	Domain allowed access.
-##	</summary>
-## </param>
-#
-interface(`gnome_manage_config',`
-	gen_require(`
-		attribute gnome_home_type;
-	')
-
-	allow $1 gnome_home_type:dir manage_dir_perms;
-	allow $1 gnome_home_type:file manage_file_perms;
-	allow $1 gnome_home_type:lnk_file manage_lnk_file_perms;
-	userdom_search_user_home_dirs($1)
-')
-
diff --git a/policy/modules/apps/telepathy.te b/policy/modules/apps/telepathy.te
index 48b59f9..59867f6 100644
--- a/policy/modules/apps/telepathy.te
+++ b/policy/modules/apps/telepathy.te
@@ -50,8 +50,8 @@ manage_dirs_pattern(telepathy_msn_t, telepathy_msn_tmp_t, telepathy_msn_tmp_t)
 manage_files_pattern(telepathy_msn_t, telepathy_msn_tmp_t, telepathy_msn_tmp_t)
 manage_sock_files_pattern(telepathy_msn_t, telepathy_msn_tmp_t, telepathy_msn_tmp_t)
 exec_files_pattern(telepathy_msn_t, telepathy_msn_tmp_t, telepathy_msn_tmp_t)
-files_tmp_filetrans(telepathy_msn_t, telepathy_msn_tmp_t, { dir file})
-userdom_user_tmp_filetrans(telepathy_msn_t, telepathy_msn_tmp_t, { dir file sock_file})
+files_tmp_filetrans(telepathy_msn_t, telepathy_msn_tmp_t, { dir file sock_file })
+userdom_user_tmp_filetrans(telepathy_msn_t, telepathy_msn_tmp_t, { dir file sock_file })
 userdom_dontaudit_setattr_user_tmp(telepathy_msn_t)
 
 corenet_sendrecv_http_client_packets(telepathy_msn_t)
diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if
index 4b49efa..ef14126 100644
--- a/policy/modules/kernel/files.if
+++ b/policy/modules/kernel/files.if
@@ -5310,25 +5310,6 @@ interface(`files_getattr_generic_locks',`
 
 ########################################
 ## <summary>
-##	Delete generic lock files.
-## </summary>
-## <param name="domain">
-##	<summary>
-##	Domain allowed access.
-##	</summary>
-## </param>
-#
-interface(`files_delete_generic_locks',`
-	gen_require(`
-		type var_t, var_lock_t;
-	')
-
-	allow $1 var_t:dir search_dir_perms;
-	delete_files_pattern($1, var_lock_t, var_lock_t)
-')
-
-########################################
-## <summary>
 ##	Create, read, write, and delete generic
 ##	lock files.
 ## </summary>
diff --git a/policy/modules/kernel/terminal.if b/policy/modules/kernel/terminal.if
index 812078c..f9930a3 100644
--- a/policy/modules/kernel/terminal.if
+++ b/policy/modules/kernel/terminal.if
@@ -1233,11 +1233,13 @@ interface(`term_dontaudit_use_unallocated_ttys',`
 #
 interface(`term_getattr_all_ttys',`
 	gen_require(`
+		type tty_device_t;
 		attribute ttynode;
 	')
 
 	dev_list_all_dev_nodes($1)
 	allow $1 ttynode:chr_file getattr;
+	allow $1 tty_device_t:chr_file getattr;
 ')
 
 ########################################
diff --git a/policy/modules/roles/dbadm.te b/policy/modules/roles/dbadm.te
index 1875064..2ddeb70 100644
--- a/policy/modules/roles/dbadm.te
+++ b/policy/modules/roles/dbadm.te
@@ -5,56 +5,28 @@ policy_module(dbadm, 1.0.0)
 # Declarations
 #
 
-## <desc>
-## <p>
-## Allow dbadm to manage files in users home directories
-## </p>
-## </desc>
-gen_tunable(dbadm_manage_user_files, false)
-
-## <desc>
-## <p>
-## Allow dbadm to read files in users home directories
-## </p>
-## </desc>
-gen_tunable(dbadm_read_user_files, false)
-
 role dbadm_r;
 
-userdom_base_user_template(dbadm)
+userdom_unpriv_user_template(dbadm)
 
 ########################################
 #
 # database admin local policy
 #
 
-allow dbadm_t self:capability { dac_override dac_read_search sys_ptrace };
-
-files_dontaudit_search_all_dirs(dbadm_t)
-files_delete_generic_locks(dbadm_t)
-files_list_var(dbadm_t)
-
-selinux_get_enforce_mode(dbadm_t)
-
-logging_send_syslog_msg(dbadm_t)
-
-userdom_dontaudit_search_user_home_dirs(dbadm_t)
-
-tunable_policy(`dbadm_manage_user_files',`
-	userdom_manage_user_home_content_files(dbadm_t)
-	userdom_read_user_tmp_files(dbadm_t)
-	userdom_write_user_tmp_files(dbadm_t)
+optional_policy(`
+	mysql_admin(dbadm_t, dbadm_r)
 ')
 
-tunable_policy(`dbadm_read_user_files',`
-	userdom_read_user_home_content_files(dbadm_t)
-	userdom_read_user_tmp_files(dbadm_t)
+optional_policy(`
+	postgresql_admin(dbadm_t, dbadm_r)
 ')
 
+# For starting up daemon processes
 optional_policy(`
-	mysql_admin(dbadm_t, dbadm_r)
+	su_role_template(dbadm, dbadm_r, dbadm_t)
 ')
 
 optional_policy(`
-	postgresql_admin(dbadm_t, dbadm_r)
+	sudo_role_template(dbadm, dbadm_r, dbadm_t)
 ')
diff --git a/policy/modules/services/accountsd.te b/policy/modules/services/accountsd.te
index 1632f10..2724c11 100644
--- a/policy/modules/services/accountsd.te
+++ b/policy/modules/services/accountsd.te
@@ -8,6 +8,8 @@ policy_module(accountsd, 1.0.0)
 type accountsd_t;
 type accountsd_exec_t;
 dbus_system_domain(accountsd_t, accountsd_exec_t)
+init_daemon_domain(accountsd_t, accountsd_exec_t)
+role system_r types accountsd_t;
 
 type accountsd_var_lib_t;
 files_type(accountsd_var_lib_t)
@@ -55,3 +57,8 @@ optional_policy(`
 optional_policy(`
 	policykit_dbus_chat(accountsd_t)
 ')
+
+optional_policy(`
+	xserver_dbus_chat_xdm(accountsd_t)
+	xserver_manage_xdm_etc_files(accountsd_t)
+')
diff --git a/policy/modules/services/cron.te b/policy/modules/services/cron.te
index 691b539..939877a 100644
--- a/policy/modules/services/cron.te
+++ b/policy/modules/services/cron.te
@@ -678,6 +678,7 @@ list_dirs_pattern(crond_t, user_cron_spool_t, user_cron_spool_t)
 rw_dirs_pattern(crond_t, user_cron_spool_t, user_cron_spool_t)
 read_files_pattern(crond_t, user_cron_spool_t, user_cron_spool_t)
 read_lnk_files_pattern(crond_t, user_cron_spool_t, user_cron_spool_t)
+allow cronjob_t user_cron_spool_t:file create_lnk_perms;
 
 tunable_policy(`fcron_crond', `
 	allow crond_t user_cron_spool_t:file manage_file_perms;
diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index bd9e35e..26a93da 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -446,7 +446,9 @@ files_mounton_default(initrc_t)
 files_manage_mnt_dirs(initrc_t)
 files_manage_mnt_files(initrc_t)
 
-fs_write_cgroup_files(initrc_t)
+fs_delete_cgroup_dirs(initrc_t)
+fs_list_cgroup_dirs(initrc_t)
+fs_rw_cgroup_files(initrc_t)
 fs_list_inotifyfs(initrc_t)
 fs_register_binary_executable_type(initrc_t)
 # rhgb-console writes to ramfs


More information about the scm-commits mailing list