--- nsaserefpolicy/policy/modules/services/sasl.fc 2008-08-07 11:15:11.000000000 -0400 +++ serefpolicy-3.5.5/policy/modules/services/sasl.fc 2008-08-14 13:53:54.000000000 -0400 @@ -8,3 +8,5 @@ # /var # /var/run/saslauthd(/.*)? gen_context(system_u:object_r:saslauthd_var_run_t,s0) + +/etc/rc.d/init.d/sasl -- gen_context(system_u:object_r:sasl_script_exec_t,s0) --- nsaserefpolicy/policy/modules/services/sasl.if 2008-08-07 11:15:11.000000000 -0400 +++ serefpolicy-3.5.5/policy/modules/services/sasl.if 2008-08-14 13:53:54.000000000 -0400 @@ -21,6 +21,25 @@ ######################################## ## +## Execute sasl server in the sasl domain. +## +## +## +## The type of the process performing this action. +## +## +# +# +interface(`sasl_script_domtrans',` + gen_require(` + type saslauthd_script_exec_t; + ') + + init_script_domtrans_spec($1, saslauthd_script_exec_t) +') + +######################################## +## ## All of the rules required to administrate ## an sasl environment ## @@ -34,14 +53,21 @@ interface(`sasl_admin',` gen_require(` type saslauthd_t, saslauthd_tmp_t, saslauthd_var_run_t; + type saslauthd_script_exec_t; ') allow $1 saslauthd_t:process { ptrace signal_perms getattr }; ps_process_pattern($1, saslauthd_t) + # Allow saslauthd_t to restart the apache service + saslauthd_script_domtrans($1) + domain_system_change_exemption($1) + role_transition $2 saslauthd_script_exec_t system_r; + allow $2 system_r; + files_list_tmp($1) - manage_files_pattern($1, saslauthd_tmp_t, saslauthd_tmp_t) + admin_pattern($1, saslauthd_tmp_t) files_list_pids($1) - manage_files_pattern($1, saslauthd_var_run_t, saslauthd_var_run_t) + admin_pattern($1, saslauthd_var_run_t) ') --- nsaserefpolicy/policy/modules/services/sasl.te 2008-08-07 11:15:11.000000000 -0400 +++ serefpolicy-3.5.5/policy/modules/services/sasl.te 2008-08-14 13:53:54.000000000 -0400 @@ -23,6 +23,9 @@ type saslauthd_var_run_t; files_pid_file(saslauthd_var_run_t) +type sasl_script_exec_t; +init_script_type(sasl_script_exec_t) + ######################################## # # Local policy @@ -99,7 +102,7 @@ ') optional_policy(` - kerberos_read_keytab(saslauthd_t) + kerberos_keytab_template(saslauthd, saslauthd_t) ') optional_policy(` @@ -108,6 +111,10 @@ ') optional_policy(` + nis_authenticate(saslauthd_t) +') + +optional_policy(` seutil_sigchld_newrole(saslauthd_t) ')