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_t, dovecot_auth_t, dovecot_deliver_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 users to resolve user passwd entries directly from
61 ldap rather then using a sssd server, you must turn on the authlo‐
62 gin_nsswitch_use_ldap boolean. Disabled by default.
63
64 setsebool -P authlogin_nsswitch_use_ldap 1
65
66
67
68 If you want to allow all daemons to write corefiles to /, you must turn
69 on the daemons_dump_core boolean. Disabled by default.
70
71 setsebool -P daemons_dump_core 1
72
73
74
75 If you want to enable cluster mode for daemons, you must turn on the
76 daemons_enable_cluster_mode boolean. Enabled by default.
77
78 setsebool -P daemons_enable_cluster_mode 1
79
80
81
82 If you want to allow all daemons to use tcp wrappers, you must turn on
83 the daemons_use_tcp_wrapper boolean. Disabled by default.
84
85 setsebool -P daemons_use_tcp_wrapper 1
86
87
88
89 If you want to allow all daemons the ability to read/write terminals,
90 you must turn on the daemons_use_tty boolean. Disabled by default.
91
92 setsebool -P daemons_use_tty 1
93
94
95
96 If you want to deny any process from ptracing or debugging any other
97 processes, you must turn on the deny_ptrace boolean. Enabled by
98 default.
99
100 setsebool -P deny_ptrace 1
101
102
103
104 If you want to allow any process to mmap any file on system with
105 attribute file_type, you must turn on the domain_can_mmap_files bool‐
106 ean. Enabled by default.
107
108 setsebool -P domain_can_mmap_files 1
109
110
111
112 If you want to allow all domains write to kmsg_device, while kernel is
113 executed with systemd.log_target=kmsg parameter, you must turn on the
114 domain_can_write_kmsg boolean. Disabled by default.
115
116 setsebool -P domain_can_write_kmsg 1
117
118
119
120 If you want to allow all domains to use other domains file descriptors,
121 you must turn on the domain_fd_use boolean. Enabled by default.
122
123 setsebool -P domain_fd_use 1
124
125
126
127 If you want to allow all domains to have the kernel load modules, you
128 must turn on the domain_kernel_load_modules boolean. Disabled by
129 default.
130
131 setsebool -P domain_kernel_load_modules 1
132
133
134
135 If you want to allow all domains to execute in fips_mode, you must turn
136 on the fips_mode boolean. Enabled by default.
137
138 setsebool -P fips_mode 1
139
140
141
142 If you want to enable reading of urandom for all domains, you must turn
143 on the global_ssp boolean. Disabled by default.
144
145 setsebool -P global_ssp 1
146
147
148
149 If you want to allow confined applications to run with kerberos, you
150 must turn on the kerberos_enabled boolean. Enabled by default.
151
152 setsebool -P kerberos_enabled 1
153
154
155
156 If you want to allow system to run with NIS, you must turn on the
157 nis_enabled boolean. Disabled by default.
158
159 setsebool -P nis_enabled 1
160
161
162
163 If you want to allow confined applications to use nscd shared memory,
164 you must turn on the nscd_use_shm boolean. Disabled by default.
165
166 setsebool -P nscd_use_shm 1
167
168
169
170 If you want to support ecryptfs home directories, you must turn on the
171 use_ecryptfs_home_dirs boolean. Disabled by default.
172
173 setsebool -P use_ecryptfs_home_dirs 1
174
175
176
177 If you want to support fusefs home directories, you must turn on the
178 use_fusefs_home_dirs boolean. Disabled by default.
179
180 setsebool -P use_fusefs_home_dirs 1
181
182
183
184 If you want to support NFS home directories, you must turn on the
185 use_nfs_home_dirs boolean. Disabled by default.
186
187 setsebool -P use_nfs_home_dirs 1
188
189
190
191 If you want to support SAMBA home directories, you must turn on the
192 use_samba_home_dirs boolean. Disabled by default.
193
194 setsebool -P use_samba_home_dirs 1
195
196
197
199 The SELinux process type dovecot_t can manage files labeled with the
200 following file types. The paths listed are the default paths for these
201 file types. Note the processes UID still need to have DAC permissions.
202
203 cifs_t
204
205
206 cluster_conf_t
207
208 /etc/cluster(/.*)?
209
210 cluster_var_lib_t
211
212 /var/lib/pcsd(/.*)?
213 /var/lib/cluster(/.*)?
214 /var/lib/openais(/.*)?
215 /var/lib/pengine(/.*)?
216 /var/lib/corosync(/.*)?
217 /usr/lib/heartbeat(/.*)?
218 /var/lib/heartbeat(/.*)?
219 /var/lib/pacemaker(/.*)?
220
221 cluster_var_run_t
222
223 /var/run/crm(/.*)?
224 /var/run/cman_.*
225 /var/run/rsctmp(/.*)?
226 /var/run/aisexec.*
227 /var/run/heartbeat(/.*)?
228 /var/run/corosync-qnetd(/.*)?
229 /var/run/corosync-qdevice(/.*)?
230 /var/run/cpglockd.pid
231 /var/run/corosync.pid
232 /var/run/rgmanager.pid
233 /var/run/cluster/rgmanager.sk
234
235 data_home_t
236
237 /root/.local/share(/.*)?
238 /home/[^/]+/.local/share(/.*)?
239
240 dovecot_spool_t
241
242 /var/spool/dovecot(/.*)?
243
244 dovecot_tmp_t
245
246
247 dovecot_var_lib_t
248
249 /var/lib/dovecot(/.*)?
250 /var/run/dovecot/login/ssl-parameters.dat
251
252 dovecot_var_log_t
253
254 /var/log/dovecot(/.*)?
255 /var/log/dovecot.log.*
256
257 dovecot_var_run_t
258
259 /var/run/dovecot(-login)?(/.*)?
260
261 ecryptfs_t
262
263 /home/[^/]+/.Private(/.*)?
264 /home/[^/]+/.ecryptfs(/.*)?
265
266 fusefs_t
267
268 /var/run/user/[^/]*/gvfs
269
270 krb5_host_rcache_t
271
272 /var/cache/krb5rcache(/.*)?
273 /var/tmp/nfs_0
274 /var/tmp/DNS_25
275 /var/tmp/host_0
276 /var/tmp/imap_0
277 /var/tmp/HTTP_23
278 /var/tmp/HTTP_48
279 /var/tmp/ldap_55
280 /var/tmp/ldap_487
281 /var/tmp/ldapmap1_0
282
283 mail_home_rw_t
284
285 /root/Maildir(/.*)?
286 /root/.esmtp_queue(/.*)?
287 /home/[^/]+/.maildir(/.*)?
288 /home/[^/]+/Maildir(/.*)?
289 /home/[^/]+/.esmtp_queue(/.*)?
290
291 mail_spool_t
292
293 /var/mail(/.*)?
294 /var/spool/imap(/.*)?
295 /var/spool/mail(/.*)?
296 /var/spool/smtpd(/.*)?
297
298 nfs_t
299
300
301 root_t
302
303 /sysroot/ostree/deploy/.*-atomic.*/deploy(/.*)?
304 /
305 /initrd
306
307 security_t
308
309 /selinux
310
311 user_home_t
312
313 /home/[^/]+/.+
314
315
317 SELinux requires files to have an extended attribute to define the file
318 type.
319
320 You can see the context of a file using the -Z option to ls
321
322 Policy governs the access confined processes have to these files.
323 SELinux dovecot policy is very flexible allowing users to setup their
324 dovecot processes in as secure a method as possible.
325
326 EQUIVALENCE DIRECTORIES
327
328
329 dovecot policy stores data with multiple different file context types
330 under the /var/log/dovecot directory. If you would like to store the
331 data in a different directory you can use the semanage command to cre‐
332 ate an equivalence mapping. If you wanted to store this data under the
333 /srv dirctory you would execute the following command:
334
335 semanage fcontext -a -e /var/log/dovecot /srv/dovecot
336 restorecon -R -v /srv/dovecot
337
338 STANDARD FILE CONTEXT
339
340 SELinux defines the file context types for the dovecot, if you wanted
341 to store files with these types in a diffent paths, you need to execute
342 the semanage command to sepecify alternate labeling and then use
343 restorecon to put the labels on disk.
344
345 semanage fcontext -a -t dovecot_var_run_t '/srv/mydovecot_con‐
346 tent(/.*)?'
347 restorecon -R -v /srv/mydovecot_content
348
349 Note: SELinux often uses regular expressions to specify labels that
350 match multiple files.
351
352 The following file types are defined for dovecot:
353
354
355
356 dovecot_auth_exec_t
357
358 - Set files with the dovecot_auth_exec_t type, if you want to transi‐
359 tion an executable to the dovecot_auth_t domain.
360
361
362 Paths:
363 /usr/libexec/dovecot/auth, /usr/libexec/dovecot/dovecot-auth
364
365
366 dovecot_auth_tmp_t
367
368 - Set files with the dovecot_auth_tmp_t type, if you want to store
369 dovecot auth temporary files in the /tmp directories.
370
371
372
373 dovecot_cert_t
374
375 - Set files with the dovecot_cert_t type, if you want to treat the
376 files as dovecot certificate data.
377
378
379 Paths:
380 /etc/pki/dovecot(/.*)?, /usr/share/ssl/certs/dovecot.pem,
381 /usr/share/ssl/private/dovecot.pem
382
383
384 dovecot_deliver_exec_t
385
386 - Set files with the dovecot_deliver_exec_t type, if you want to tran‐
387 sition an executable to the dovecot_deliver_t domain.
388
389
390 Paths:
391 /usr/libexec/dovecot/deliver, /usr/libexec/dovecot/dovecot-lda
392
393
394 dovecot_deliver_tmp_t
395
396 - Set files with the dovecot_deliver_tmp_t type, if you want to store
397 dovecot deliver temporary files in the /tmp directories.
398
399
400
401 dovecot_etc_t
402
403 - Set files with the dovecot_etc_t type, if you want to store dovecot
404 files in the /etc directories.
405
406
407 Paths:
408 /etc/dovecot(/.*)?, /etc/dovecot.conf.*
409
410
411 dovecot_exec_t
412
413 - Set files with the dovecot_exec_t type, if you want to transition an
414 executable to the dovecot_t domain.
415
416
417
418 dovecot_initrc_exec_t
419
420 - Set files with the dovecot_initrc_exec_t type, if you want to transi‐
421 tion an executable to the dovecot_initrc_t domain.
422
423
424
425 dovecot_keytab_t
426
427 - Set files with the dovecot_keytab_t type, if you want to treat the
428 files as kerberos keytab files.
429
430
431
432 dovecot_passwd_t
433
434 - Set files with the dovecot_passwd_t type, if you want to treat the
435 files as dovecot passwd data.
436
437
438
439 dovecot_spool_t
440
441 - Set files with the dovecot_spool_t type, if you want to store the
442 dovecot files under the /var/spool directory.
443
444
445
446 dovecot_tmp_t
447
448 - Set files with the dovecot_tmp_t type, if you want to store dovecot
449 temporary files in the /tmp directories.
450
451
452
453 dovecot_var_lib_t
454
455 - Set files with the dovecot_var_lib_t type, if you want to store the
456 dovecot files under the /var/lib directory.
457
458
459 Paths:
460 /var/lib/dovecot(/.*)?, /var/run/dovecot/login/ssl-parameters.dat
461
462
463 dovecot_var_log_t
464
465 - Set files with the dovecot_var_log_t type, if you want to treat the
466 data as dovecot var log data, usually stored under the /var/log direc‐
467 tory.
468
469
470 Paths:
471 /var/log/dovecot(/.*)?, /var/log/dovecot.log.*
472
473
474 dovecot_var_run_t
475
476 - Set files with the dovecot_var_run_t type, if you want to store the
477 dovecot files under the /run or /var/run directory.
478
479
480
481 Note: File context can be temporarily modified with the chcon command.
482 If you want to permanently change the file context you need to use the
483 semanage fcontext command. This will modify the SELinux labeling data‐
484 base. You will need to use restorecon to apply the labels.
485
486
488 semanage fcontext can also be used to manipulate default file context
489 mappings.
490
491 semanage permissive can also be used to manipulate whether or not a
492 process type is permissive.
493
494 semanage module can also be used to enable/disable/install/remove pol‐
495 icy modules.
496
497 semanage boolean can also be used to manipulate the booleans
498
499
500 system-config-selinux is a GUI tool available to customize SELinux pol‐
501 icy settings.
502
503
505 This manual page was auto-generated using sepolicy manpage .
506
507
509 selinux(8), dovecot(8), semanage(8), restorecon(8), chcon(1), sepol‐
510 icy(8) , setsebool(8), dovecot_auth_selinux(8), dove‐
511 cot_auth_selinux(8), dovecot_deliver_selinux(8), dove‐
512 cot_deliver_selinux(8)
513
514
515
516dovecot 19-04-25 dovecot_selinux(8)