1exim_selinux(8) SELinux Policy exim exim_selinux(8)
2
3
4
6 exim_selinux - Security Enhanced Linux Policy for the exim processes
7
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
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
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
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
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
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
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
499 This manual page was auto-generated using sepolicy manpage .
500
501
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)