1exim_selinux(8)               SELinux Policy exim              exim_selinux(8)
2
3
4

NAME

6       exim_selinux - Security Enhanced Linux Policy for the exim processes
7

DESCRIPTION

9       Security-Enhanced  Linux secures the exim processes via flexible manda‐
10       tory access control.
11
12       The exim processes execute with the exim_t SELinux type. You can  check
13       if  you  have  these processes running by executing the ps command with
14       the -Z qualifier.
15
16       For example:
17
18       ps -eZ | grep exim_t
19
20
21

ENTRYPOINTS

23       The exim_t SELinux type can be entered via the exim_exec_t file type.
24
25       The default entrypoint paths for the exim_t domain are the following:
26
27       /usr/sbin/exim[0-9]?, /usr/sbin/exim_tidydb
28

PROCESS TYPES

30       SELinux defines process types (domains) for each process running on the
31       system
32
33       You can see the context of a process using the -Z option to ps
34
35       Policy  governs  the  access confined processes have to files.  SELinux
36       exim policy is very flexible allowing users to setup  their  exim  pro‐
37       cesses in as secure a method as possible.
38
39       The following process types are defined for exim:
40
41       exim_t
42
43       Note:  semanage  permissive  -a  exim_t can be used to make the process
44       type exim_t permissive. SELinux does  not  deny  access  to  permissive
45       process  types, but the AVC (SELinux denials) messages are still gener‐
46       ated.
47
48

BOOLEANS

50       SELinux policy is customizable based on least  access  required.   exim
51       policy is extremely flexible and has several booleans that allow you to
52       manipulate the policy and run exim with the tightest access possible.
53
54
55
56       If you want to determine whether exim can  connect  to  databases,  you
57       must turn on the exim_can_connect_db boolean. Disabled by default.
58
59       setsebool -P exim_can_connect_db 1
60
61
62
63       If  you  want  to  determine  whether exim can create, read, write, and
64       delete generic user content files,  you  must  turn  on  the  exim_man‐
65       age_user_files boolean. Disabled by default.
66
67       setsebool -P exim_manage_user_files 1
68
69
70
71       If  you  want  to  determine whether exim can read generic user content
72       files, you must turn on the exim_read_user_files boolean.  Disabled  by
73       default.
74
75       setsebool -P exim_read_user_files 1
76
77
78
79       If you want to allow users to resolve user passwd entries directly from
80       ldap rather then using a sssd server, you  must  turn  on  the  authlo‐
81       gin_nsswitch_use_ldap boolean. Disabled by default.
82
83       setsebool -P authlogin_nsswitch_use_ldap 1
84
85
86
87       If you want to allow all daemons to write corefiles to /, you must turn
88       on the daemons_dump_core boolean. Disabled by default.
89
90       setsebool -P daemons_dump_core 1
91
92
93
94       If you want to enable cluster mode for daemons, you must  turn  on  the
95       daemons_enable_cluster_mode boolean. Enabled by default.
96
97       setsebool -P daemons_enable_cluster_mode 1
98
99
100
101       If  you want to allow all daemons to use tcp wrappers, you must turn on
102       the daemons_use_tcp_wrapper boolean. Disabled by default.
103
104       setsebool -P daemons_use_tcp_wrapper 1
105
106
107
108       If you want to allow all daemons the ability to  read/write  terminals,
109       you must turn on the daemons_use_tty boolean. Disabled by default.
110
111       setsebool -P daemons_use_tty 1
112
113
114
115       If  you  want  to deny any process from ptracing or debugging any other
116       processes, you  must  turn  on  the  deny_ptrace  boolean.  Enabled  by
117       default.
118
119       setsebool -P deny_ptrace 1
120
121
122
123       If  you  want  to  allow  any  process  to mmap any file on system with
124       attribute file_type, you must turn on the  domain_can_mmap_files  bool‐
125       ean. Enabled by default.
126
127       setsebool -P domain_can_mmap_files 1
128
129
130
131       If  you want to allow all domains write to kmsg_device, while kernel is
132       executed with systemd.log_target=kmsg parameter, you must turn  on  the
133       domain_can_write_kmsg boolean. Disabled by default.
134
135       setsebool -P domain_can_write_kmsg 1
136
137
138
139       If you want to allow all domains to use other domains file descriptors,
140       you must turn on the domain_fd_use boolean. Enabled by default.
141
142       setsebool -P domain_fd_use 1
143
144
145
146       If you want to allow all domains to have the kernel load  modules,  you
147       must  turn  on  the  domain_kernel_load_modules  boolean.  Disabled  by
148       default.
149
150       setsebool -P domain_kernel_load_modules 1
151
152
153
154       If you want to allow all domains to execute in fips_mode, you must turn
155       on the fips_mode boolean. Enabled by default.
156
157       setsebool -P fips_mode 1
158
159
160
161       If  you  want to determine whether Gitosis can send mail, you must turn
162       on the gitosis_can_sendmail boolean. Disabled by default.
163
164       setsebool -P gitosis_can_sendmail 1
165
166
167
168       If you want to enable reading of urandom for all domains, you must turn
169       on the global_ssp boolean. Disabled by default.
170
171       setsebool -P global_ssp 1
172
173
174
175       If  you  want  to  allow http daemon to send mail, you must turn on the
176       httpd_can_sendmail boolean. Disabled by default.
177
178       setsebool -P httpd_can_sendmail 1
179
180
181
182       If you want to allow confined applications to run  with  kerberos,  you
183       must turn on the kerberos_enabled boolean. Enabled by default.
184
185       setsebool -P kerberos_enabled 1
186
187
188
189       If  you  want  to  allow  system  to run with NIS, you must turn on the
190       nis_enabled boolean. Disabled by default.
191
192       setsebool -P nis_enabled 1
193
194
195
196       If you want to allow confined applications to use nscd  shared  memory,
197       you must turn on the nscd_use_shm boolean. Disabled by default.
198
199       setsebool -P nscd_use_shm 1
200
201
202
203       If  you  want to allow unprivileged users to execute DDL statement, you
204       must turn  on  the  postgresql_selinux_users_ddl  boolean.  Enabled  by
205       default.
206
207       setsebool -P postgresql_selinux_users_ddl 1
208
209
210
211       If  you want to allow Redis to run redis-sentinal notification scripts,
212       you must turn on the redis_enable_notify boolean. Disabled by default.
213
214       setsebool -P redis_enable_notify 1
215
216
217
218       If you want to support ecryptfs home directories, you must turn on  the
219       use_ecryptfs_home_dirs boolean. Disabled by default.
220
221       setsebool -P use_ecryptfs_home_dirs 1
222
223
224
225       If  you  want  to support fusefs home directories, you must turn on the
226       use_fusefs_home_dirs boolean. Disabled by default.
227
228       setsebool -P use_fusefs_home_dirs 1
229
230
231
232       If you want to support NFS home  directories,  you  must  turn  on  the
233       use_nfs_home_dirs boolean. Disabled by default.
234
235       setsebool -P use_nfs_home_dirs 1
236
237
238
239       If  you  want  to  support SAMBA home directories, you must turn on the
240       use_samba_home_dirs boolean. Disabled by default.
241
242       setsebool -P use_samba_home_dirs 1
243
244
245

MANAGED FILES

247       The SELinux process type exim_t can manage files labeled with the  fol‐
248       lowing  file  types.   The paths listed are the default paths for these
249       file types.  Note the processes UID still need to have DAC permissions.
250
251       arpwatch_tmp_t
252
253
254       cifs_t
255
256
257       cluster_conf_t
258
259            /etc/cluster(/.*)?
260
261       cluster_var_lib_t
262
263            /var/lib/pcsd(/.*)?
264            /var/lib/cluster(/.*)?
265            /var/lib/openais(/.*)?
266            /var/lib/pengine(/.*)?
267            /var/lib/corosync(/.*)?
268            /usr/lib/heartbeat(/.*)?
269            /var/lib/heartbeat(/.*)?
270            /var/lib/pacemaker(/.*)?
271
272       cluster_var_run_t
273
274            /var/run/crm(/.*)?
275            /var/run/cman_.*
276            /var/run/rsctmp(/.*)?
277            /var/run/aisexec.*
278            /var/run/heartbeat(/.*)?
279            /var/run/corosync-qnetd(/.*)?
280            /var/run/corosync-qdevice(/.*)?
281            /var/run/cpglockd.pid
282            /var/run/corosync.pid
283            /var/run/rgmanager.pid
284            /var/run/cluster/rgmanager.sk
285
286       dovecot_spool_t
287
288            /var/spool/dovecot(/.*)?
289
290       ecryptfs_t
291
292            /home/[^/]+/.Private(/.*)?
293            /home/[^/]+/.ecryptfs(/.*)?
294
295       exim_spool_t
296
297            /var/spool/exim[0-9]?(/.*)?
298
299       exim_tmp_t
300
301
302       exim_var_lib_t
303
304            /var/lib/exim[0-9]?(/.*)?
305
306       exim_var_run_t
307
308            /var/run/exim[0-9]?.pid
309            /var/run/exim[0-9]?(/.*)?
310
311       faillog_t
312
313            /var/log/btmp.*
314            /var/log/faillog.*
315            /var/log/tallylog.*
316            /var/run/faillock(/.*)?
317
318       fusefs_t
319
320            /var/run/user/[^/]*/gvfs
321
322       mail_home_rw_t
323
324            /root/Maildir(/.*)?
325            /root/.esmtp_queue(/.*)?
326            /home/[^/]+/.maildir(/.*)?
327            /home/[^/]+/Maildir(/.*)?
328            /home/[^/]+/.esmtp_queue(/.*)?
329
330       mail_spool_t
331
332            /var/mail(/.*)?
333            /var/spool/imap(/.*)?
334            /var/spool/mail(/.*)?
335            /var/spool/smtpd(/.*)?
336
337       mailman_data_t
338
339            /etc/mailman.*
340            /var/lib/mailman(/.*)?
341            /var/spool/mailman.*
342
343       nfs_t
344
345
346       root_t
347
348            /sysroot/ostree/deploy/.*-atomic.*/deploy(/.*)?
349            /
350            /initrd
351
352       sendmail_tmp_t
353
354
355       user_home_t
356
357            /home/[^/]+/.+
358
359       user_tmp_t
360
361            /dev/shm/mono.*
362            /var/run/user(/.*)?
363            /tmp/.X11-unix(/.*)?
364            /tmp/.ICE-unix(/.*)?
365            /dev/shm/pulse-shm.*
366            /tmp/.X0-lock
367            /tmp/hsperfdata_root
368            /var/tmp/hsperfdata_root
369            /home/[^/]+/tmp
370            /home/[^/]+/.tmp
371            /tmp/gconfd-[^/]+
372
373

FILE CONTEXTS

375       SELinux requires files to have an extended attribute to define the file
376       type.
377
378       You can see the context of a file using the -Z option to ls
379
380       Policy  governs  the  access  confined  processes  have to these files.
381       SELinux exim policy is very flexible allowing users to setup their exim
382       processes in as secure a method as possible.
383
384       EQUIVALENCE DIRECTORIES
385
386
387       exim  policy  stores  data  with  multiple different file context types
388       under the /var/run/exim[0-9]? directory.  If you would  like  to  store
389       the  data  in a different directory you can use the semanage command to
390       create an equivalence mapping.  If you wanted to store this data  under
391       the /srv dirctory you would execute the following command:
392
393       semanage fcontext -a -e /var/run/exim[0-9]? /srv/exim[0-9]?
394       restorecon -R -v /srv/exim[0-9]?
395
396       STANDARD FILE CONTEXT
397
398       SELinux  defines  the file context types for the exim, if you wanted to
399       store files with these types in a diffent paths, you  need  to  execute
400       the  semanage  command  to  sepecify  alternate  labeling  and then use
401       restorecon to put the labels on disk.
402
403       semanage fcontext -a -t exim_var_run_t '/srv/myexim_content(/.*)?'
404       restorecon -R -v /srv/myexim_content
405
406       Note: SELinux often uses regular expressions  to  specify  labels  that
407       match multiple files.
408
409       The following file types are defined for exim:
410
411
412
413       exim_exec_t
414
415       -  Set  files  with  the exim_exec_t type, if you want to transition an
416       executable to the exim_t domain.
417
418
419       Paths:
420            /usr/sbin/exim[0-9]?, /usr/sbin/exim_tidydb
421
422
423       exim_initrc_exec_t
424
425       - Set files with the exim_initrc_exec_t type, if you want to transition
426       an executable to the exim_initrc_t domain.
427
428
429
430       exim_keytab_t
431
432       - Set files with the exim_keytab_t type, if you want to treat the files
433       as kerberos keytab files.
434
435
436
437       exim_log_t
438
439       - Set files with the exim_log_t type, if you want to treat the data  as
440       exim log data, usually stored under the /var/log directory.
441
442
443
444       exim_spool_t
445
446       -  Set  files with the exim_spool_t type, if you want to store the exim
447       files under the /var/spool directory.
448
449
450
451       exim_tmp_t
452
453       - Set files with the exim_tmp_t type, if you want to store exim  tempo‐
454       rary files in the /tmp directories.
455
456
457
458       exim_var_lib_t
459
460       - Set files with the exim_var_lib_t type, if you want to store the exim
461       files under the /var/lib directory.
462
463
464
465       exim_var_run_t
466
467       - Set files with the exim_var_run_t type, if you want to store the exim
468       files under the /run or /var/run directory.
469
470
471       Paths:
472            /var/run/exim[0-9]?.pid, /var/run/exim[0-9]?(/.*)?
473
474
475       Note:  File context can be temporarily modified with the chcon command.
476       If you want to permanently change the file context you need to use  the
477       semanage fcontext command.  This will modify the SELinux labeling data‐
478       base.  You will need to use restorecon to apply the labels.
479
480

COMMANDS

482       semanage fcontext can also be used to manipulate default  file  context
483       mappings.
484
485       semanage  permissive  can  also  be used to manipulate whether or not a
486       process type is permissive.
487
488       semanage module can also be used to enable/disable/install/remove  pol‐
489       icy modules.
490
491       semanage boolean can also be used to manipulate the booleans
492
493
494       system-config-selinux is a GUI tool available to customize SELinux pol‐
495       icy settings.
496
497

AUTHOR

499       This manual page was auto-generated using sepolicy manpage .
500
501

SEE ALSO

503       selinux(8), exim(8), semanage(8), restorecon(8), chcon(1),  sepolicy(8)
504       , setsebool(8)
505
506
507
508exim                               19-04-25                    exim_selinux(8)
Impressum