[selinux-policy: 2505/3172] mysql policy from Dan Walsh
Daniel J Walsh
dwalsh at fedoraproject.org
Thu Oct 7 22:42:41 UTC 2010
commit 12a6a53f6398642e8c2a58ed6ba347029a15897b
Author: Jeremy Solt <jsolt at tresys.com>
Date: Thu Mar 11 13:19:55 2010 -0500
mysql policy from Dan Walsh
My changes to patch:
A couple changes to match style.
Removed files_dontaudit_search_all_mountpoints(mysqld_safe_t), it doesn't exist in refpolicy
policy/modules/services/mysql.if | 38 ++++++++++++++++++++++++++++++++++++++
policy/modules/services/mysql.te | 29 ++++++++++++++++++++++++-----
2 files changed, 62 insertions(+), 5 deletions(-)
---
diff --git a/policy/modules/services/mysql.if b/policy/modules/services/mysql.if
index 7d70e4f..fc2b4d2 100644
--- a/policy/modules/services/mysql.if
+++ b/policy/modules/services/mysql.if
@@ -1,5 +1,43 @@
## <summary>Policy for MySQL</summary>
+######################################
+## <summary>
+## Execute MySQL in the mysql domain.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`mysql_domtrans',`
+ gen_require(`
+ type mysqld_t, mysqld_exec_t;
+ ')
+
+ domtrans_pattern($1,mysqld_exec_t,mysqld_t)
+
+')
+
+######################################
+## <summary>
+## Execute MySQL server in the mysql domain.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`mysql_domtrans_mysql_safe',`
+ gen_require(`
+ type mysqld_safe_t, mysqld_safe_exec_t;
+ ')
+
+ domtrans_pattern($1,mysqld_safe_exec_t, mysqld_safe_t)
+')
+
+
########################################
## <summary>
## Send a generic signal to MySQL.
diff --git a/policy/modules/services/mysql.te b/policy/modules/services/mysql.te
index 28a7e50..83a6e70 100644
--- a/policy/modules/services/mysql.te
+++ b/policy/modules/services/mysql.te
@@ -6,6 +6,13 @@ policy_module(mysql, 1.11.2)
# Declarations
#
+## <desc>
+## <p>
+## Allow mysqld to connect to all ports
+## </p>
+## </desc>
+gen_tunable(mysql_connect_any, false)
+
type mysqld_t;
type mysqld_exec_t;
init_daemon_domain(mysqld_t, mysqld_exec_t)
@@ -47,7 +54,7 @@ files_pid_file(mysqlmanagerd_var_run_t)
# Local policy
#
-allow mysqld_t self:capability { dac_override setgid setuid sys_resource net_bind_service };
+allow mysqld_t self:capability { dac_override ipc_lock setgid setuid sys_resource net_bind_service };
dontaudit mysqld_t self:capability sys_tty_config;
allow mysqld_t self:process { setsched getsched setrlimit signal_perms rlimitinh };
allow mysqld_t self:fifo_file rw_fifo_file_perms;
@@ -125,6 +132,11 @@ ifdef(`distro_redhat',`
type_transition mysqld_t mysqld_db_t:sock_file mysqld_var_run_t;
')
+tunable_policy(`mysql_connect_any',`
+ corenet_tcp_connect_all_ports(mysqld_t)
+ corenet_sendrecv_all_client_packets(mysqld_t)
+')
+
optional_policy(`
daemontools_service_domain(mysqld_t, mysqld_exec_t)
')
@@ -142,28 +154,35 @@ optional_policy(`
# Local mysqld_safe policy
#
-allow mysqld_safe_t self:capability { dac_override fowner chown };
+allow mysqld_safe_t self:capability { chown dac_override fowner kill };
+dontaudit mysqld_safe_t self:capability sys_ptrace;
allow mysqld_safe_t self:fifo_file rw_fifo_file_perms;
+read_lnk_files_pattern(mysqld_safe_t, mysqld_db_t, mysqld_db_t)
+
domtrans_pattern(mysqld_safe_t, mysqld_exec_t, mysqld_t)
allow mysqld_safe_t mysqld_log_t:file manage_file_perms;
-allow mysqld_safe_t mysqld_var_run_t:sock_file unlink;
+manage_files_pattern(mysqld_safe_t, mysqld_var_run_t, mysqld_var_run_t)
+delete_sock_files_pattern(mysqld_safe_t, mysqld_var_run_t, mysqld_var_run_t)
domain_read_all_domains_state(mysqld_safe_t)
+files_dontaudit_getattr_all_dirs(mysqld_safe_t)
+
logging_log_filetrans(mysqld_safe_t, mysqld_log_t, file)
kernel_read_system_state(mysqld_safe_t)
+kernel_read_kernel_sysctls(mysqld_safe_t)
+
+corecmd_exec_bin(mysqld_safe_t)
dev_list_sysfs(mysqld_safe_t)
files_read_etc_files(mysqld_safe_t)
files_read_usr_files(mysqld_safe_t)
-corecmd_exec_bin(mysqld_safe_t)
-
hostname_exec(mysqld_safe_t)
miscfiles_read_localization(mysqld_safe_t)
More information about the scm-commits
mailing list