Gentoo Archives: gentoo-commits

From: Kenton Groombridge <concord@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-refpolicy:master commit in: policy/modules/services/
Date: Wed, 02 Nov 2022 14:42:59
Message-Id: 1667398040.42804a679a2ca17bb67d9c0cb887202f95d105ee.concord@gentoo
1 commit: 42804a679a2ca17bb67d9c0cb887202f95d105ee
2 Author: Kenton Groombridge <me <AT> concord <DOT> sh>
3 AuthorDate: Mon Sep 26 21:00:18 2022 +0000
4 Commit: Kenton Groombridge <concord <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 2 14:07:20 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=42804a67
7
8 glusterfs: add type for glusterd hooks
9
10 Add a private type for glusterd hooks in order to enforce W^X for them.
11
12 Signed-off-by: Kenton Groombridge <me <AT> concord.sh>
13 Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org>
14
15 policy/modules/services/glusterfs.fc | 1 +
16 policy/modules/services/glusterfs.if | 3 ++-
17 policy/modules/services/glusterfs.te | 8 ++++++++
18 3 files changed, 11 insertions(+), 1 deletion(-)
19
20 diff --git a/policy/modules/services/glusterfs.fc b/policy/modules/services/glusterfs.fc
21 index 158a4a85e..50bd93604 100644
22 --- a/policy/modules/services/glusterfs.fc
23 +++ b/policy/modules/services/glusterfs.fc
24 @@ -12,6 +12,7 @@
25 /opt/glusterfs/[^/]+/sbin/glusterfsd -- gen_context(system_u:object_r:glusterd_exec_t,s0)
26
27 /var/lib/gluster.* gen_context(system_u:object_r:glusterd_var_lib_t,s0)
28 +/var/lib/glusterd/hooks(/.*)? gen_context(system_u:object_r:glusterd_hook_t,s0)
29
30 /var/log/glusterfs(/.*)? gen_context(system_u:object_r:glusterd_log_t,s0)
31
32
33 diff --git a/policy/modules/services/glusterfs.if b/policy/modules/services/glusterfs.if
34 index 5e6af0ecc..ab5c8a4da 100644
35 --- a/policy/modules/services/glusterfs.if
36 +++ b/policy/modules/services/glusterfs.if
37 @@ -105,7 +105,7 @@ interface(`glusterfs_admin',`
38 gen_require(`
39 type glusterd_t, glusterd_initrc_exec_t, glusterd_log_t;
40 type glusterd_tmp_t, glusterd_conf_t, glusterd_var_lib_t;
41 - type glusterd_runtime_t, glusterd_brick_t;
42 + type glusterd_hook_t, glusterd_runtime_t, glusterd_brick_t;
43 ')
44
45 glusterfs_run_daemon($1, $2)
46 @@ -128,6 +128,7 @@ interface(`glusterfs_admin',`
47
48 files_search_var_lib($1)
49 admin_pattern($1, glusterd_var_lib_t)
50 + admin_pattern($1, glusterd_hook_t)
51
52 files_search_runtime($1)
53 admin_pattern($1, glusterd_runtime_t)
54
55 diff --git a/policy/modules/services/glusterfs.te b/policy/modules/services/glusterfs.te
56 index 85a55ed5b..c46215be1 100644
57 --- a/policy/modules/services/glusterfs.te
58 +++ b/policy/modules/services/glusterfs.te
59 @@ -40,6 +40,9 @@ files_type(glusterd_var_lib_t)
60 type glusterd_brick_t;
61 files_type(glusterd_brick_t)
62
63 +type glusterd_hook_t;
64 +files_type(glusterd_hook_t)
65 +
66 ########################################
67 #
68 # Local policy
69 @@ -77,6 +80,11 @@ manage_files_pattern(glusterd_t, glusterd_var_lib_t, glusterd_var_lib_t)
70 manage_lnk_files_pattern(glusterd_t, glusterd_var_lib_t, glusterd_var_lib_t)
71 files_var_lib_filetrans(glusterd_t, glusterd_var_lib_t, dir)
72
73 +list_dirs_pattern(glusterd_t, glusterd_hook_t, glusterd_hook_t)
74 +read_files_pattern(glusterd_t, glusterd_hook_t, glusterd_hook_t)
75 +read_lnk_files_pattern(glusterd_t, glusterd_hook_t, glusterd_hook_t)
76 +can_exec(glusterd_t, glusterd_hook_t)
77 +
78 manage_dirs_pattern(glusterd_t, glusterd_brick_t, glusterd_brick_t)
79 manage_files_pattern(glusterd_t, glusterd_brick_t, glusterd_brick_t)
80 manage_chr_files_pattern(glusterd_t, glusterd_brick_t, glusterd_brick_t)