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 domains to execute in fips_mode, you must turn
88 on the fips_mode boolean. Enabled by default.
89
90 setsebool -P fips_mode 1
91
92
93
94 If you want to allow confined applications to run with kerberos, you
95 must turn on the kerberos_enabled boolean. Disabled by default.
96
97 setsebool -P kerberos_enabled 1
98
99
100
101 If you want to allow system to run with NIS, you must turn on the
102 nis_enabled boolean. Disabled by default.
103
104 setsebool -P nis_enabled 1
105
106
107
108 If you want to allow confined applications to use nscd shared memory,
109 you must turn on the nscd_use_shm boolean. Disabled by default.
110
111 setsebool -P nscd_use_shm 1
112
113
114
116 The SELinux process type exim_t can manage files labeled with the fol‐
117 lowing file types. The paths listed are the default paths for these
118 file types. Note the processes UID still need to have DAC permissions.
119
120 arpwatch_tmp_t
121
122
123 cifs_t
124
125
126 cluster_conf_t
127
128 /etc/cluster(/.*)?
129
130 cluster_var_lib_t
131
132 /var/lib/pcsd(/.*)?
133 /var/lib/cluster(/.*)?
134 /var/lib/openais(/.*)?
135 /var/lib/pengine(/.*)?
136 /var/lib/corosync(/.*)?
137 /usr/lib/heartbeat(/.*)?
138 /var/lib/heartbeat(/.*)?
139 /var/lib/pacemaker(/.*)?
140
141 cluster_var_run_t
142
143 /var/run/crm(/.*)?
144 /var/run/cman_.*
145 /var/run/rsctmp(/.*)?
146 /var/run/aisexec.*
147 /var/run/heartbeat(/.*)?
148 /var/run/corosync-qnetd(/.*)?
149 /var/run/corosync-qdevice(/.*)?
150 /var/run/corosync.pid
151 /var/run/cpglockd.pid
152 /var/run/rgmanager.pid
153 /var/run/cluster/rgmanager.sk
154
155 dovecot_spool_t
156
157 /var/spool/dovecot(/.*)?
158
159 ecryptfs_t
160
161 /home/[^/]+/.Private(/.*)?
162 /home/[^/]+/.ecryptfs(/.*)?
163
164 exim_spool_t
165
166 /var/spool/exim[0-9]?(/.*)?
167
168 exim_tmp_t
169
170
171 exim_var_lib_t
172
173 /var/lib/exim[0-9]?(/.*)?
174
175 exim_var_run_t
176
177 /var/run/exim[0-9]?.pid
178 /var/run/exim[0-9]?(/.*)?
179
180 faillog_t
181
182 /var/log/btmp.*
183 /var/log/faillog.*
184 /var/log/tallylog.*
185 /var/run/faillock(/.*)?
186
187 fusefs_t
188
189 /var/run/user/[^/]*/gvfs
190
191 mail_home_rw_t
192
193 /root/Maildir(/.*)?
194 /root/.esmtp_queue(/.*)?
195 /var/lib/arpwatch/.esmtp_queue(/.*)?
196 /home/[^/]+/.maildir(/.*)?
197 /home/[^/]+/Maildir(/.*)?
198 /home/[^/]+/.esmtp_queue(/.*)?
199
200 mail_spool_t
201
202 /var/mail(/.*)?
203 /var/spool/imap(/.*)?
204 /var/spool/mail(/.*)?
205 /var/spool/smtpd(/.*)?
206
207 mailman_data_t
208
209 /etc/mailman.*
210 /var/lib/mailman(/.*)?
211 /var/spool/mailman.*
212
213 nfs_t
214
215
216 root_t
217
218 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
219 /
220 /initrd
221
222 sendmail_tmp_t
223
224
225 user_home_t
226
227 /home/[^/]+/.+
228
229 user_tmp_t
230
231 /dev/shm/mono.*
232 /var/run/user(/.*)?
233 /tmp/.ICE-unix(/.*)?
234 /tmp/.X11-unix(/.*)?
235 /dev/shm/pulse-shm.*
236 /tmp/.X0-lock
237 /tmp/hsperfdata_root
238 /var/tmp/hsperfdata_root
239 /home/[^/]+/tmp
240 /home/[^/]+/.tmp
241 /tmp/gconfd-[^/]+
242
243
245 SELinux requires files to have an extended attribute to define the file
246 type.
247
248 You can see the context of a file using the -Z option to ls
249
250 Policy governs the access confined processes have to these files.
251 SELinux exim policy is very flexible allowing users to setup their exim
252 processes in as secure a method as possible.
253
254 EQUIVALENCE DIRECTORIES
255
256
257 exim policy stores data with multiple different file context types
258 under the /var/run/exim[0-9]? directory. If you would like to store
259 the data in a different directory you can use the semanage command to
260 create an equivalence mapping. If you wanted to store this data under
261 the /srv dirctory you would execute the following command:
262
263 semanage fcontext -a -e /var/run/exim[0-9]? /srv/exim[0-9]?
264 restorecon -R -v /srv/exim[0-9]?
265
266 STANDARD FILE CONTEXT
267
268 SELinux defines the file context types for the exim, if you wanted to
269 store files with these types in a diffent paths, you need to execute
270 the semanage command to sepecify alternate labeling and then use
271 restorecon to put the labels on disk.
272
273 semanage fcontext -a -t exim_var_run_t '/srv/myexim_content(/.*)?'
274 restorecon -R -v /srv/myexim_content
275
276 Note: SELinux often uses regular expressions to specify labels that
277 match multiple files.
278
279 The following file types are defined for exim:
280
281
282
283 exim_exec_t
284
285 - Set files with the exim_exec_t type, if you want to transition an
286 executable to the exim_t domain.
287
288
289 Paths:
290 /usr/sbin/exim[0-9]?, /usr/sbin/exim_tidydb
291
292
293 exim_initrc_exec_t
294
295 - Set files with the exim_initrc_exec_t type, if you want to transition
296 an executable to the exim_initrc_t domain.
297
298
299
300 exim_keytab_t
301
302 - Set files with the exim_keytab_t type, if you want to treat the files
303 as kerberos keytab files.
304
305
306
307 exim_log_t
308
309 - Set files with the exim_log_t type, if you want to treat the data as
310 exim log data, usually stored under the /var/log directory.
311
312
313
314 exim_spool_t
315
316 - Set files with the exim_spool_t type, if you want to store the exim
317 files under the /var/spool directory.
318
319
320
321 exim_tmp_t
322
323 - Set files with the exim_tmp_t type, if you want to store exim tempo‐
324 rary files in the /tmp directories.
325
326
327
328 exim_var_lib_t
329
330 - Set files with the exim_var_lib_t type, if you want to store the exim
331 files under the /var/lib directory.
332
333
334
335 exim_var_run_t
336
337 - Set files with the exim_var_run_t type, if you want to store the exim
338 files under the /run or /var/run directory.
339
340
341 Paths:
342 /var/run/exim[0-9]?.pid, /var/run/exim[0-9]?(/.*)?
343
344
345 Note: File context can be temporarily modified with the chcon command.
346 If you want to permanently change the file context you need to use the
347 semanage fcontext command. This will modify the SELinux labeling data‐
348 base. You will need to use restorecon to apply the labels.
349
350
352 semanage fcontext can also be used to manipulate default file context
353 mappings.
354
355 semanage permissive can also be used to manipulate whether or not a
356 process type is permissive.
357
358 semanage module can also be used to enable/disable/install/remove pol‐
359 icy modules.
360
361 semanage boolean can also be used to manipulate the booleans
362
363
364 system-config-selinux is a GUI tool available to customize SELinux pol‐
365 icy settings.
366
367
369 This manual page was auto-generated using sepolicy manpage .
370
371
373 selinux(8), exim(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
374 setsebool(8)
375
376
377
378exim 19-12-02 exim_selinux(8)