[selinux-policy: 2189/3172] add fprintd module from dan.

Daniel J Walsh dwalsh at fedoraproject.org
Thu Oct 7 22:14:26 UTC 2010


commit 20c3ccee1ad196c203a18f8c9d63eeaf2661d1b4
Author: Chris PeBenito <cpebenito at tresys.com>
Date:   Wed Jul 29 10:28:31 2009 -0400

    add fprintd module from dan.

 Changelog                          |    1 +
 policy/modules/services/fprintd.fc |    2 +
 policy/modules/services/fprintd.if |   41 ++++++++++++++++++++++++++
 policy/modules/services/fprintd.te |   55 ++++++++++++++++++++++++++++++++++++
 4 files changed, 99 insertions(+), 0 deletions(-)
---
diff --git a/Changelog b/Changelog
index 40bb755..77ea92a 100644
--- a/Changelog
+++ b/Changelog
@@ -23,6 +23,7 @@
 	certmaster (Dan Walsh)
 	cpufreqselector (Dan Walsh)
 	devicekit (Dan Walsh)
+	fprintd (Dan Walsh)
 	git (Dan Walsh)
 	gpsd (Miroslav Grepl)
 	guest (Dan Walsh)
diff --git a/policy/modules/services/fprintd.fc b/policy/modules/services/fprintd.fc
new file mode 100644
index 0000000..a4f5fb1
--- /dev/null
+++ b/policy/modules/services/fprintd.fc
@@ -0,0 +1,2 @@
+/usr/libexec/fprintd	--	gen_context(system_u:object_r:fprintd_exec_t,s0)
+/var/lib/fprint(/.*)?		gen_context(system_u:object_r:fprintd_var_lib_t,s0)
diff --git a/policy/modules/services/fprintd.if b/policy/modules/services/fprintd.if
new file mode 100644
index 0000000..ebad8c4
--- /dev/null
+++ b/policy/modules/services/fprintd.if
@@ -0,0 +1,41 @@
+## <summary>DBus fingerprint reader service</summary>
+
+########################################
+## <summary>
+##	Execute a domain transition to run fprintd.
+## </summary>
+## <param name="domain">
+## <summary>
+##	Domain allowed to transition.
+## </summary>
+## </param>
+#
+interface(`fprintd_domtrans',`
+	gen_require(`
+		type fprintd_t, fprintd_exec_t;
+	')
+
+	domtrans_pattern($1, fprintd_exec_t, fprintd_t)
+')
+
+########################################
+## <summary>
+##	Send and receive messages from
+##	fprintd over dbus.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`fprintd_dbus_chat',`
+	gen_require(`
+		type fprintd_t;
+		class dbus send_msg;
+	')
+
+	allow $1 fprintd_t:dbus send_msg;
+	allow fprintd_t $1:dbus send_msg;
+')
+
diff --git a/policy/modules/services/fprintd.te b/policy/modules/services/fprintd.te
new file mode 100644
index 0000000..516f6c9
--- /dev/null
+++ b/policy/modules/services/fprintd.te
@@ -0,0 +1,55 @@
+
+policy_module(fprintd, 1.0.0)
+
+########################################
+#
+# Declarations
+#
+
+type fprintd_t;
+type fprintd_exec_t;
+dbus_system_domain(fprintd_t, fprintd_exec_t)
+
+type fprintd_var_lib_t;
+files_type(fprintd_var_lib_t)
+
+########################################
+#
+# Local policy
+#
+
+allow fprintd_t self:capability sys_ptrace;
+allow fprintd_t self:fifo_file rw_fifo_file_perms;
+allow fprintd_t self:process { getsched signal };
+
+manage_dirs_pattern(fprintd_t, fprintd_var_lib_t, fprintd_var_lib_t)
+manage_files_pattern(fprintd_t, fprintd_var_lib_t, fprintd_var_lib_t)
+files_var_lib_filetrans(fprintd_t, fprintd_var_lib_t, { dir file })
+
+kernel_read_system_state(fprintd_t)
+
+corecmd_search_bin(fprintd_t)
+
+dev_list_usbfs(fprintd_t)
+dev_rw_generic_usb_dev(fprintd_t)
+dev_read_sysfs(fprintd_t)
+
+files_read_etc_files(fprintd_t)
+files_read_usr_files(fprintd_t)
+
+auth_use_nsswitch(fprintd_t)
+
+miscfiles_read_localization(fprintd_t)
+
+userdom_use_user_ptys(fprintd_t)
+userdom_read_all_users_state(fprintd_t)
+
+optional_policy(`
+	consolekit_dbus_chat(fprintd_t)
+')
+
+optional_policy(`
+	policykit_read_reload(fprintd_t)
+	policykit_read_lib(fprintd_t)
+	policykit_domtrans_auth(fprintd_t)
+')


More information about the scm-commits mailing list