Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-refpolicy:master commit in: policy/modules/contrib/
Date: Fri, 31 Jul 2015 14:15:45
Message-Id: 1438274493.668db9970fcfe4c20ba9619272799c3dd258fce0.perfinion@gentoo
1 commit: 668db9970fcfe4c20ba9619272799c3dd258fce0
2 Author: Jason Zaman <jason <AT> perfinion <DOT> com>
3 AuthorDate: Thu Jul 16 13:09:44 2015 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 30 16:41:33 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=668db997
7
8 Introduce cron_admin interface
9
10 policy/modules/contrib/cron.if | 53 ++++++++++++++++++++++++++++++++++++++++++
11 1 file changed, 53 insertions(+)
12
13 diff --git a/policy/modules/contrib/cron.if b/policy/modules/contrib/cron.if
14 index 868d89f..3925811 100644
15 --- a/policy/modules/contrib/cron.if
16 +++ b/policy/modules/contrib/cron.if
17 @@ -835,3 +835,56 @@ interface(`cron_dontaudit_write_system_job_tmp_files',`
18
19 dontaudit $1 system_cronjob_tmp_t:file write_file_perms;
20 ')
21 +
22 +########################################
23 +## <summary>
24 +## All of the rules required to
25 +## administrate a cron environment.
26 +## </summary>
27 +## <param name="domain">
28 +## <summary>
29 +## Domain allowed access.
30 +## </summary>
31 +## </param>
32 +## <param name="role">
33 +## <summary>
34 +## Role allowed access.
35 +## </summary>
36 +## </param>
37 +## <rolecap/>
38 +#
39 +interface(`cron_admin',`
40 + gen_require(`
41 + type crond_t, cronjob_t, crond_initrc_exec_t;
42 + type cron_var_lib_t, system_cronjob_var_lib_t;
43 + type crond_tmp_t, admin_crontab_tmp_t;
44 + type crontab_tmp_t, system_cronjob_tmp_t;
45 + type cron_var_run_t, system_cronjob_var_run_t, crond_var_run_t;
46 + type cron_log_t, system_cronjob_lock_t, user_cron_spool_log_t;
47 + attribute cron_spool_type;
48 + ')
49 +
50 + allow $1 { crond_t cronjob_t }:process { ptrace signal_perms };
51 + ps_process_pattern($1, { crond_t cronjob_t })
52 +
53 + init_startstop_service($1, $2, crond_t, crond_initrc_exec_t)
54 +
55 + files_search_var_lib($1)
56 + admin_pattern($1, { cron_var_lib_t system_cronjob_var_lib_t })
57 +
58 + files_search_tmp($1)
59 + admin_pattern($1, { crond_tmp_t admin_crontab_tmp_t })
60 + admin_pattern($1, { crontab_tmp_t system_cronjob_tmp_t })
61 +
62 + files_search_pids($1)
63 + admin_pattern($1, { cron_var_run_t crond_var_run_t system_cronjob_var_run_t })
64 +
65 + files_search_locks($1)
66 + admin_pattern($1, system_cronjob_lock_t)
67 +
68 + logging_search_logs($1)
69 + admin_pattern($1, { cron_log_t user_cron_spool_log_t })
70 +
71 + files_search_spool($1)
72 + admin_pattern($1, cron_spool_type)
73 +')