1dovecot_selinux(8)          SELinux Policy dovecot          dovecot_selinux(8)
2
3
4

NAME

6       dovecot_selinux  -  Security Enhanced Linux Policy for the dovecot pro‐
7       cesses
8

DESCRIPTION

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

ENTRYPOINTS

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

PROCESS TYPES

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

BOOLEANS

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

MANAGED FILES

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

FILE CONTEXTS

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

COMMANDS

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

AUTHOR

505       This manual page was auto-generated using sepolicy manpage .
506
507

SEE ALSO

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)
Impressum