1cloud_init_selinux(8) SELinux Policy cloud_init cloud_init_selinux(8)
2
3
4
6 cloud_init_selinux - Security Enhanced Linux Policy for the cloud_init
7 processes
8
10 Security-Enhanced Linux secures the cloud_init processes via flexible
11 mandatory access control.
12
13 The cloud_init processes execute with the cloud_init_t SELinux type.
14 You can check if you have these processes running by executing the ps
15 command with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep cloud_init_t
20
21
22
24 The cloud_init_t SELinux type can be entered via the cloud_init_exec_t
25 file type.
26
27 The default entrypoint paths for the cloud_init_t domain are the fol‐
28 lowing:
29
30 /usr/bin/cloud-init, /usr/libexec/min-cloud-agent, /usr/libexec/min-
31 metadata-service
32
34 SELinux defines process types (domains) for each process running on the
35 system
36
37 You can see the context of a process using the -Z option to ps
38
39 Policy governs the access confined processes have to files. SELinux
40 cloud_init policy is very flexible allowing users to setup their
41 cloud_init processes in as secure a method as possible.
42
43 The following process types are defined for cloud_init:
44
45 cloud_init_t
46
47 Note: semanage permissive -a cloud_init_t can be used to make the
48 process type cloud_init_t permissive. SELinux does not deny access to
49 permissive process types, but the AVC (SELinux denials) messages are
50 still generated.
51
52
54 SELinux policy is customizable based on least access required.
55 cloud_init policy is extremely flexible and has several booleans that
56 allow you to manipulate the policy and run cloud_init with the tightest
57 access possible.
58
59
60
61 If you want to allow users to resolve user passwd entries directly from
62 ldap rather then using a sssd server, you must turn on the authlo‐
63 gin_nsswitch_use_ldap boolean. Disabled by default.
64
65 setsebool -P authlogin_nsswitch_use_ldap 1
66
67
68
69 If you want to allow all daemons to write corefiles to /, you must turn
70 on the daemons_dump_core boolean. Disabled by default.
71
72 setsebool -P daemons_dump_core 1
73
74
75
76 If you want to enable cluster mode for daemons, you must turn on the
77 daemons_enable_cluster_mode boolean. Enabled by default.
78
79 setsebool -P daemons_enable_cluster_mode 1
80
81
82
83 If you want to allow all daemons to use tcp wrappers, you must turn on
84 the daemons_use_tcp_wrapper boolean. Disabled by default.
85
86 setsebool -P daemons_use_tcp_wrapper 1
87
88
89
90 If you want to allow all daemons the ability to read/write terminals,
91 you must turn on the daemons_use_tty boolean. Disabled by default.
92
93 setsebool -P daemons_use_tty 1
94
95
96
97 If you want to deny user domains applications to map a memory region as
98 both executable and writable, this is dangerous and the executable
99 should be reported in bugzilla, you must turn on the deny_execmem bool‐
100 ean. Enabled by default.
101
102 setsebool -P deny_execmem 1
103
104
105
106 If you want to deny any process from ptracing or debugging any other
107 processes, you must turn on the deny_ptrace boolean. Enabled by
108 default.
109
110 setsebool -P deny_ptrace 1
111
112
113
114 If you want to allow any process to mmap any file on system with
115 attribute file_type, you must turn on the domain_can_mmap_files bool‐
116 ean. Enabled by default.
117
118 setsebool -P domain_can_mmap_files 1
119
120
121
122 If you want to allow all domains write to kmsg_device, while kernel is
123 executed with systemd.log_target=kmsg parameter, you must turn on the
124 domain_can_write_kmsg boolean. Disabled by default.
125
126 setsebool -P domain_can_write_kmsg 1
127
128
129
130 If you want to allow all domains to use other domains file descriptors,
131 you must turn on the domain_fd_use boolean. Enabled by default.
132
133 setsebool -P domain_fd_use 1
134
135
136
137 If you want to allow all domains to have the kernel load modules, you
138 must turn on the domain_kernel_load_modules boolean. Disabled by
139 default.
140
141 setsebool -P domain_kernel_load_modules 1
142
143
144
145 If you want to allow all domains to execute in fips_mode, you must turn
146 on the fips_mode boolean. Enabled by default.
147
148 setsebool -P fips_mode 1
149
150
151
152 If you want to enable reading of urandom for all domains, you must turn
153 on the global_ssp boolean. Disabled by default.
154
155 setsebool -P global_ssp 1
156
157
158
159 If you want to allow confined applications to run with kerberos, you
160 must turn on the kerberos_enabled boolean. Enabled by default.
161
162 setsebool -P kerberos_enabled 1
163
164
165
166 If you want to control the ability to mmap a low area of the address
167 space, as configured by /proc/sys/vm/mmap_min_addr, you must turn on
168 the mmap_low_allowed boolean. Disabled by default.
169
170 setsebool -P mmap_low_allowed 1
171
172
173
174 If you want to allow system to run with NIS, you must turn on the
175 nis_enabled boolean. Disabled by default.
176
177 setsebool -P nis_enabled 1
178
179
180
181 If you want to allow confined applications to use nscd shared memory,
182 you must turn on the nscd_use_shm boolean. Disabled by default.
183
184 setsebool -P nscd_use_shm 1
185
186
187
188 If you want to disable kernel module loading, you must turn on the
189 secure_mode_insmod boolean. Enabled by default.
190
191 setsebool -P secure_mode_insmod 1
192
193
194
195 If you want to boolean to determine whether the system permits loading
196 policy, setting enforcing mode, and changing boolean values. Set this
197 to true and you have to reboot to set it back, you must turn on the
198 secure_mode_policyload boolean. Enabled by default.
199
200 setsebool -P secure_mode_policyload 1
201
202
203
204 If you want to allow unconfined executables to make their heap memory
205 executable. Doing this is a really bad idea. Probably indicates a
206 badly coded executable, but could indicate an attack. This executable
207 should be reported in bugzilla, you must turn on the selin‐
208 uxuser_execheap boolean. Disabled by default.
209
210 setsebool -P selinuxuser_execheap 1
211
212
213
214 If you want to allow all unconfined executables to use libraries
215 requiring text relocation that are not labeled textrel_shlib_t, you
216 must turn on the selinuxuser_execmod boolean. Enabled by default.
217
218 setsebool -P selinuxuser_execmod 1
219
220
221
222 If you want to allow unconfined executables to make their stack exe‐
223 cutable. This should never, ever be necessary. Probably indicates a
224 badly coded executable, but could indicate an attack. This executable
225 should be reported in bugzilla, you must turn on the selinuxuser_exec‐
226 stack boolean. Enabled by default.
227
228 setsebool -P selinuxuser_execstack 1
229
230
231
232 If you want to support X userspace object manager, you must turn on the
233 xserver_object_manager boolean. Enabled by default.
234
235 setsebool -P xserver_object_manager 1
236
237
238
240 The SELinux process type cloud_init_t can manage files labeled with the
241 following file types. The paths listed are the default paths for these
242 file types. Note the processes UID still need to have DAC permissions.
243
244 file_type
245
246 all files on the system
247
248
250 SELinux requires files to have an extended attribute to define the file
251 type.
252
253 You can see the context of a file using the -Z option to ls
254
255 Policy governs the access confined processes have to these files.
256 SELinux cloud_init policy is very flexible allowing users to setup
257 their cloud_init processes in as secure a method as possible.
258
259 STANDARD FILE CONTEXT
260
261 SELinux defines the file context types for the cloud_init, if you
262 wanted to store files with these types in a diffent paths, you need to
263 execute the semanage command to sepecify alternate labeling and then
264 use restorecon to put the labels on disk.
265
266 semanage fcontext -a -t cloud_init_unit_file_t '/srv/mycloud_init_con‐
267 tent(/.*)?'
268 restorecon -R -v /srv/mycloud_init_content
269
270 Note: SELinux often uses regular expressions to specify labels that
271 match multiple files.
272
273 The following file types are defined for cloud_init:
274
275
276
277 cloud_init_exec_t
278
279 - Set files with the cloud_init_exec_t type, if you want to transition
280 an executable to the cloud_init_t domain.
281
282
283 Paths:
284 /usr/bin/cloud-init, /usr/libexec/min-cloud-agent,
285 /usr/libexec/min-metadata-service
286
287
288 cloud_init_tmp_t
289
290 - Set files with the cloud_init_tmp_t type, if you want to store cloud
291 init temporary files in the /tmp directories.
292
293
294
295 cloud_init_unit_file_t
296
297 - Set files with the cloud_init_unit_file_t type, if you want to treat
298 the files as cloud init unit content.
299
300
301 Paths:
302 /usr/lib/systemd/system/cloud-init.*, /usr/lib/systemd/sys‐
303 tem/cloud-config.*
304
305
306 Note: File context can be temporarily modified with the chcon command.
307 If you want to permanently change the file context you need to use the
308 semanage fcontext command. This will modify the SELinux labeling data‐
309 base. You will need to use restorecon to apply the labels.
310
311
313 semanage fcontext can also be used to manipulate default file context
314 mappings.
315
316 semanage permissive can also be used to manipulate whether or not a
317 process type is permissive.
318
319 semanage module can also be used to enable/disable/install/remove pol‐
320 icy modules.
321
322 semanage boolean can also be used to manipulate the booleans
323
324
325 system-config-selinux is a GUI tool available to customize SELinux pol‐
326 icy settings.
327
328
330 This manual page was auto-generated using sepolicy manpage .
331
332
334 selinux(8), cloud_init(8), semanage(8), restorecon(8), chcon(1), sepol‐
335 icy(8) , setsebool(8)
336
337
338
339cloud_init 19-04-25 cloud_init_selinux(8)