1dovecot_selinux(8) SELinux Policy dovecot dovecot_selinux(8)
2
3
4
6 dovecot_selinux - Security Enhanced Linux Policy for the dovecot pro‐
7 cesses
8
10 Security-Enhanced Linux secures the dovecot processes via flexible
11 mandatory access control.
12
13 The dovecot processes execute with the dovecot_t SELinux type. You can
14 check if you have these processes running by executing the ps command
15 with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep dovecot_t
20
21
22
24 The dovecot_t SELinux type can be entered via the dovecot_exec_t file
25 type.
26
27 The default entrypoint paths for the dovecot_t domain are the follow‐
28 ing:
29
30 /usr/sbin/dovecot
31
33 SELinux defines process types (domains) for each process running on the
34 system
35
36 You can see the context of a process using the -Z option to ps
37
38 Policy governs the access confined processes have to files. SELinux
39 dovecot policy is very flexible allowing users to setup their dovecot
40 processes in as secure a method as possible.
41
42 The following process types are defined for dovecot:
43
44 dovecot_deliver_t, dovecot_auth_t, dovecot_t
45
46 Note: semanage permissive -a dovecot_t can be used to make the process
47 type dovecot_t permissive. SELinux does not deny access to permissive
48 process types, but the AVC (SELinux denials) messages are still gener‐
49 ated.
50
51
53 SELinux policy is customizable based on least access required. dovecot
54 policy is extremely flexible and has several booleans that allow you to
55 manipulate the policy and run dovecot with the tightest access possi‐
56 ble.
57
58
59
60 If you want to allow all daemons to write corefiles to /, you must turn
61 on the allow_daemons_dump_core boolean. Disabled by default.
62
63 setsebool -P allow_daemons_dump_core 1
64
65
66
67 If you want to allow all daemons to use tcp wrappers, you must turn on
68 the allow_daemons_use_tcp_wrapper boolean. Disabled by default.
69
70 setsebool -P allow_daemons_use_tcp_wrapper 1
71
72
73
74 If you want to allow all daemons the ability to read/write terminals,
75 you must turn on the allow_daemons_use_tty boolean. Disabled by
76 default.
77
78 setsebool -P allow_daemons_use_tty 1
79
80
81
82 If you want to allow all domains to use other domains file descriptors,
83 you must turn on the allow_domain_fd_use boolean. Enabled by default.
84
85 setsebool -P allow_domain_fd_use 1
86
87
88
89 If you want to allow confined applications to run with kerberos, you
90 must turn on the allow_kerberos boolean. Enabled by default.
91
92 setsebool -P allow_kerberos 1
93
94
95
96 If you want to allow sysadm to debug or ptrace all processes, you must
97 turn on the allow_ptrace boolean. Disabled by default.
98
99 setsebool -P allow_ptrace 1
100
101
102
103 If you want to allow system to run with NIS, you must turn on the
104 allow_ypbind boolean. Disabled by default.
105
106 setsebool -P allow_ypbind 1
107
108
109
110 If you want to enable cluster mode for daemons, you must turn on the
111 daemons_enable_cluster_mode boolean. Disabled by default.
112
113 setsebool -P daemons_enable_cluster_mode 1
114
115
116
117 If you want to allow all domains to have the kernel load modules, you
118 must turn on the domain_kernel_load_modules boolean. Disabled by
119 default.
120
121 setsebool -P domain_kernel_load_modules 1
122
123
124
125 If you want to allow all domains to execute in fips_mode, you must turn
126 on the fips_mode boolean. Enabled by default.
127
128 setsebool -P fips_mode 1
129
130
131
132 If you want to enable reading of urandom for all domains, you must turn
133 on the global_ssp boolean. Disabled by default.
134
135 setsebool -P global_ssp 1
136
137
138
139 If you want to enable support for upstart as the init program, you must
140 turn on the init_upstart boolean. Enabled by default.
141
142 setsebool -P init_upstart 1
143
144
145
146 If you want to allow confined applications to use nscd shared memory,
147 you must turn on the nscd_use_shm boolean. Enabled by default.
148
149 setsebool -P nscd_use_shm 1
150
151
152
153 If you want to support NFS home directories, you must turn on the
154 use_nfs_home_dirs boolean. Disabled by default.
155
156 setsebool -P use_nfs_home_dirs 1
157
158
159
160 If you want to support SAMBA home directories, you must turn on the
161 use_samba_home_dirs boolean. Disabled by default.
162
163 setsebool -P use_samba_home_dirs 1
164
165
166
168 The SELinux process type dovecot_t can manage files labeled with the
169 following file types. The paths listed are the default paths for these
170 file types. Note the processes UID still need to have DAC permissions.
171
172 cifs_t
173
174
175 cluster_conf_t
176
177 /etc/cluster(/.*)?
178
179 cluster_var_lib_t
180
181 /var/lib(64)?/openais(/.*)?
182 /var/lib(64)?/pengine(/.*)?
183 /var/lib(64)?/corosync(/.*)?
184 /usr/lib(64)?/heartbeat(/.*)?
185 /var/lib(64)?/heartbeat(/.*)?
186 /var/lib(64)?/pacemaker(/.*)?
187 /var/lib/cluster(/.*)?
188
189 cluster_var_run_t
190
191 /var/run/crm(/.*)?
192 /var/run/cman_.*
193 /var/run/rsctmp(/.*)?
194 /var/run/aisexec.*
195 /var/run/heartbeat(/.*)?
196 /var/run/cpglockd.pid
197 /var/run/corosync.pid
198 /var/run/rgmanager.pid
199 /var/run/cluster/rgmanager.sk
200
201 dovecot_spool_t
202
203 /var/spool/dovecot(/.*)?
204
205 dovecot_tmp_t
206
207
208 dovecot_var_lib_t
209
210 /var/lib/dovecot(/.*)?
211 /var/run/dovecot/login/ssl-parameters.dat
212
213 dovecot_var_log_t
214
215 /var/log/dovecot(/.*)?
216 /var/log/dovecot.log.*
217
218 dovecot_var_run_t
219
220 /var/run/dovecot(-login)?(/.*)?
221
222 initrc_tmp_t
223
224
225 mail_home_rw_t
226
227 /root/Maildir(/.*)?
228 /home/[^/]*/Maildir(/.*)?
229 /home/staff/Maildir(/.*)?
230
231 mail_spool_t
232
233 /var/mail(/.*)?
234 /var/spool/mail(/.*)?
235 /var/spool/imap(/.*)?
236
237 mnt_t
238
239 /mnt(/[^/]*)
240 /mnt(/[^/]*)?
241 /rhev(/[^/]*)?
242 /media(/[^/]*)
243 /media(/[^/]*)?
244 /etc/rhgb(/.*)?
245 /media/.hal-.*
246 /net
247 /afs
248 /rhev
249 /misc
250
251 nfs_t
252
253
254 root_t
255
256 /
257 /initrd
258
259 tmp_t
260
261 /tmp
262 /usr/tmp
263 /var/tmp
264 /tmp-inst
265 /var/tmp-inst
266 /var/tmp/vi.recover
267
268 user_home_t
269
270 /home/[^/]*/.+
271 /home/staff/.+
272
273
275 SELinux requires files to have an extended attribute to define the file
276 type.
277
278 You can see the context of a file using the -Z option to ls
279
280 Policy governs the access confined processes have to these files.
281 SELinux dovecot policy is very flexible allowing users to setup their
282 dovecot processes in as secure a method as possible.
283
284 EQUIVALENCE DIRECTORIES
285
286
287 dovecot policy stores data with multiple different file context types
288 under the /var/log/dovecot directory. If you would like to store the
289 data in a different directory you can use the semanage command to cre‐
290 ate an equivalence mapping. If you wanted to store this data under the
291 /srv dirctory you would execute the following command:
292
293 semanage fcontext -a -e /var/log/dovecot /srv/dovecot
294 restorecon -R -v /srv/dovecot
295
296 STANDARD FILE CONTEXT
297
298 SELinux defines the file context types for the dovecot, if you wanted
299 to store files with these types in a diffent paths, you need to execute
300 the semanage command to sepecify alternate labeling and then use
301 restorecon to put the labels on disk.
302
303 semanage fcontext -a -t dovecot_var_run_t '/srv/mydovecot_con‐
304 tent(/.*)?'
305 restorecon -R -v /srv/mydovecot_content
306
307 Note: SELinux often uses regular expressions to specify labels that
308 match multiple files.
309
310 The following file types are defined for dovecot:
311
312
313
314 dovecot_auth_exec_t
315
316 - Set files with the dovecot_auth_exec_t type, if you want to transi‐
317 tion an executable to the dovecot_auth_t domain.
318
319
320 Paths:
321 /usr/libexec/dovecot/auth, /usr/libexec/dovecot/dovecot-auth
322
323
324 dovecot_auth_tmp_t
325
326 - Set files with the dovecot_auth_tmp_t type, if you want to store
327 dovecot auth temporary files in the /tmp directories.
328
329
330
331 dovecot_cert_t
332
333 - Set files with the dovecot_cert_t type, if you want to treat the
334 files as dovecot certificate data.
335
336
337 Paths:
338 /etc/pki/dovecot(/.*)?, /usr/share/ssl/certs/dovecot.pem,
339 /usr/share/ssl/private/dovecot.pem
340
341
342 dovecot_deliver_exec_t
343
344 - Set files with the dovecot_deliver_exec_t type, if you want to tran‐
345 sition an executable to the dovecot_deliver_t domain.
346
347
348 Paths:
349 /usr/libexec/dovecot/deliver, /usr/libexec/dovecot/dovecot-lda
350
351
352 dovecot_deliver_tmp_t
353
354 - Set files with the dovecot_deliver_tmp_t type, if you want to store
355 dovecot deliver temporary files in the /tmp directories.
356
357
358
359 dovecot_etc_t
360
361 - Set files with the dovecot_etc_t type, if you want to store dovecot
362 files in the /etc directories.
363
364
365 Paths:
366 /etc/dovecot(/.*)?, /etc/dovecot.conf.*
367
368
369 dovecot_exec_t
370
371 - Set files with the dovecot_exec_t type, if you want to transition an
372 executable to the dovecot_t domain.
373
374
375
376 dovecot_initrc_exec_t
377
378 - Set files with the dovecot_initrc_exec_t type, if you want to transi‐
379 tion an executable to the dovecot_initrc_t domain.
380
381
382
383 dovecot_keytab_t
384
385 - Set files with the dovecot_keytab_t type, if you want to treat the
386 files as kerberos keytab files.
387
388
389
390 dovecot_passwd_t
391
392 - Set files with the dovecot_passwd_t type, if you want to treat the
393 files as dovecot passwd data.
394
395
396
397 dovecot_spool_t
398
399 - Set files with the dovecot_spool_t type, if you want to store the
400 dovecot files under the /var/spool directory.
401
402
403
404 dovecot_tmp_t
405
406 - Set files with the dovecot_tmp_t type, if you want to store dovecot
407 temporary files in the /tmp directories.
408
409
410
411 dovecot_var_lib_t
412
413 - Set files with the dovecot_var_lib_t type, if you want to store the
414 dovecot files under the /var/lib directory.
415
416
417 Paths:
418 /var/lib/dovecot(/.*)?, /var/run/dovecot/login/ssl-parameters.dat
419
420
421 dovecot_var_log_t
422
423 - Set files with the dovecot_var_log_t type, if you want to treat the
424 data as dovecot var log data, usually stored under the /var/log direc‐
425 tory.
426
427
428 Paths:
429 /var/log/dovecot(/.*)?, /var/log/dovecot.log.*
430
431
432 dovecot_var_run_t
433
434 - Set files with the dovecot_var_run_t type, if you want to store the
435 dovecot files under the /run or /var/run directory.
436
437
438
439 Note: File context can be temporarily modified with the chcon command.
440 If you want to permanently change the file context you need to use the
441 semanage fcontext command. This will modify the SELinux labeling data‐
442 base. You will need to use restorecon to apply the labels.
443
444
446 semanage fcontext can also be used to manipulate default file context
447 mappings.
448
449 semanage permissive can also be used to manipulate whether or not a
450 process type is permissive.
451
452 semanage module can also be used to enable/disable/install/remove pol‐
453 icy modules.
454
455 semanage boolean can also be used to manipulate the booleans
456
457
458 system-config-selinux is a GUI tool available to customize SELinux pol‐
459 icy settings.
460
461
463 This manual page was auto-generated using sepolicy manpage .
464
465
467 selinux(8), dovecot(8), semanage(8), restorecon(8), chcon(1) , setse‐
468 bool(8), dovecot_auth_selinux(8), dovecot_auth_selinux(8), dove‐
469 cot_deliver_selinux(8), dovecot_deliver_selinux(8)
470
471
472
473dovecot 15-06-03 dovecot_selinux(8)