1container_runtime_selinuSxE(L8i)nux Policy container_runctoinmteainer_runtime_selinux(8)
2
3
4
6 container_runtime_selinux - Security Enhanced Linux Policy for the con‐
7 tainer_runtime processes
8
10 Security-Enhanced Linux secures the container_runtime processes via
11 flexible mandatory access control.
12
13 The container_runtime processes execute with the container_runtime_t
14 SELinux type. You can check if you have these processes running by exe‐
15 cuting the ps command with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep container_runtime_t
20
21
22
24 The container_runtime_t SELinux type can be entered via the con‐
25 tainer_runtime_exec_t file type.
26
27 The default entrypoint paths for the container_runtime_t domain are the
28 following:
29
30 /usr/bin/docker
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 container_runtime policy is very flexible allowing users to setup their
40 container_runtime processes in as secure a method as possible.
41
42 The following process types are defined for container_runtime:
43
44 container_runtime_t
45
46 Note: semanage permissive -a container_runtime_t can be used to make
47 the process type container_runtime_t permissive. SELinux does not deny
48 access to permissive process types, but the AVC (SELinux denials) mes‐
49 sages are still generated.
50
51
53 SELinux policy is customizable based on least access required. con‐
54 tainer_runtime policy is extremely flexible and has several booleans
55 that allow you to manipulate the policy and run container_runtime with
56 the tightest access possible.
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 determine whether docker can connect to all TCP ports,
69 you must turn on the container_connect_any boolean. Disabled by
70 default.
71
72 setsebool -P container_connect_any 1
73
74
75
76 If you want to allow all daemons to write corefiles to /, you must turn
77 on the daemons_dump_core boolean. Disabled by default.
78
79 setsebool -P daemons_dump_core 1
80
81
82
83 If you want to enable cluster mode for daemons, you must turn on the
84 daemons_enable_cluster_mode boolean. Enabled by default.
85
86 setsebool -P daemons_enable_cluster_mode 1
87
88
89
90 If you want to allow all daemons to use tcp wrappers, you must turn on
91 the daemons_use_tcp_wrapper boolean. Disabled by default.
92
93 setsebool -P daemons_use_tcp_wrapper 1
94
95
96
97 If you want to allow all daemons the ability to read/write terminals,
98 you must turn on the daemons_use_tty boolean. Disabled by default.
99
100 setsebool -P daemons_use_tty 1
101
102
103
104 If you want to deny user domains applications to map a memory region as
105 both executable and writable, this is dangerous and the executable
106 should be reported in bugzilla, you must turn on the deny_execmem bool‐
107 ean. Enabled by default.
108
109 setsebool -P deny_execmem 1
110
111
112
113 If you want to deny any process from ptracing or debugging any other
114 processes, you must turn on the deny_ptrace boolean. Enabled by
115 default.
116
117 setsebool -P deny_ptrace 1
118
119
120
121 If you want to allow any process to mmap any file on system with
122 attribute file_type, you must turn on the domain_can_mmap_files bool‐
123 ean. Enabled by default.
124
125 setsebool -P domain_can_mmap_files 1
126
127
128
129 If you want to allow all domains write to kmsg_device, while kernel is
130 executed with systemd.log_target=kmsg parameter, you must turn on the
131 domain_can_write_kmsg boolean. Disabled by default.
132
133 setsebool -P domain_can_write_kmsg 1
134
135
136
137 If you want to allow all domains to use other domains file descriptors,
138 you must turn on the domain_fd_use boolean. Enabled by default.
139
140 setsebool -P domain_fd_use 1
141
142
143
144 If you want to allow all domains to have the kernel load modules, you
145 must turn on the domain_kernel_load_modules boolean. Disabled by
146 default.
147
148 setsebool -P domain_kernel_load_modules 1
149
150
151
152 If you want to allow all domains to execute in fips_mode, you must turn
153 on the fips_mode boolean. Enabled by default.
154
155 setsebool -P fips_mode 1
156
157
158
159 If you want to enable reading of urandom for all domains, you must turn
160 on the global_ssp boolean. Disabled by default.
161
162 setsebool -P global_ssp 1
163
164
165
166 If you want to allow confined applications to run with kerberos, you
167 must turn on the kerberos_enabled boolean. Enabled by default.
168
169 setsebool -P kerberos_enabled 1
170
171
172
173 If you want to control the ability to mmap a low area of the address
174 space, as configured by /proc/sys/vm/mmap_min_addr, you must turn on
175 the mmap_low_allowed boolean. Disabled by default.
176
177 setsebool -P mmap_low_allowed 1
178
179
180
181 If you want to allow system to run with NIS, you must turn on the
182 nis_enabled boolean. Disabled by default.
183
184 setsebool -P nis_enabled 1
185
186
187
188 If you want to allow confined applications to use nscd shared memory,
189 you must turn on the nscd_use_shm boolean. Disabled by default.
190
191 setsebool -P nscd_use_shm 1
192
193
194
195 If you want to disable kernel module loading, you must turn on the
196 secure_mode_insmod boolean. Enabled by default.
197
198 setsebool -P secure_mode_insmod 1
199
200
201
202 If you want to boolean to determine whether the system permits loading
203 policy, setting enforcing mode, and changing boolean values. Set this
204 to true and you have to reboot to set it back, you must turn on the
205 secure_mode_policyload boolean. Enabled by default.
206
207 setsebool -P secure_mode_policyload 1
208
209
210
211 If you want to allow unconfined executables to make their heap memory
212 executable. Doing this is a really bad idea. Probably indicates a
213 badly coded executable, but could indicate an attack. This executable
214 should be reported in bugzilla, you must turn on the selin‐
215 uxuser_execheap boolean. Disabled by default.
216
217 setsebool -P selinuxuser_execheap 1
218
219
220
221 If you want to allow all unconfined executables to use libraries
222 requiring text relocation that are not labeled textrel_shlib_t, you
223 must turn on the selinuxuser_execmod boolean. Enabled by default.
224
225 setsebool -P selinuxuser_execmod 1
226
227
228
229 If you want to allow unconfined executables to make their stack exe‐
230 cutable. This should never, ever be necessary. Probably indicates a
231 badly coded executable, but could indicate an attack. This executable
232 should be reported in bugzilla, you must turn on the selinuxuser_exec‐
233 stack boolean. Enabled by default.
234
235 setsebool -P selinuxuser_execstack 1
236
237
238
239 If you want to support X userspace object manager, you must turn on the
240 xserver_object_manager boolean. Enabled by default.
241
242 setsebool -P xserver_object_manager 1
243
244
245
247 The SELinux process type container_runtime_t can manage files labeled
248 with the following file types. The paths listed are the default paths
249 for these file types. Note the processes UID still need to have DAC
250 permissions.
251
252 file_type
253
254 all files on the system
255
256
258 SELinux requires files to have an extended attribute to define the file
259 type.
260
261 You can see the context of a file using the -Z option to ls
262
263 Policy governs the access confined processes have to these files.
264 SELinux container_runtime policy is very flexible allowing users to
265 setup their container_runtime processes in as secure a method as possi‐
266 ble.
267
268 STANDARD FILE CONTEXT
269
270 SELinux defines the file context types for the container_runtime, if
271 you wanted to store files with these types in a diffent paths, you need
272 to execute the semanage command to sepecify alternate labeling and then
273 use restorecon to put the labels on disk.
274
275 semanage fcontext -a -t container_runtime_tmpfs_t '/srv/mycon‐
276 tainer_runtime_content(/.*)?'
277 restorecon -R -v /srv/mycontainer_runtime_content
278
279 Note: SELinux often uses regular expressions to specify labels that
280 match multiple files.
281
282 The following file types are defined for container_runtime:
283
284
285
286 container_runtime_exec_t
287
288 - Set files with the container_runtime_exec_t type, if you want to
289 transition an executable to the container_runtime_t domain.
290
291
292
293 container_runtime_tmp_t
294
295 - Set files with the container_runtime_tmp_t type, if you want to store
296 container runtime temporary files in the /tmp directories.
297
298
299
300 container_runtime_tmpfs_t
301
302 - Set files with the container_runtime_tmpfs_t type, if you want to
303 store container runtime files on a tmpfs file system.
304
305
306
307 Note: File context can be temporarily modified with the chcon command.
308 If you want to permanently change the file context you need to use the
309 semanage fcontext command. This will modify the SELinux labeling data‐
310 base. You will need to use restorecon to apply the labels.
311
312
314 semanage fcontext can also be used to manipulate default file context
315 mappings.
316
317 semanage permissive can also be used to manipulate whether or not a
318 process type is permissive.
319
320 semanage module can also be used to enable/disable/install/remove pol‐
321 icy modules.
322
323 semanage boolean can also be used to manipulate the booleans
324
325
326 system-config-selinux is a GUI tool available to customize SELinux pol‐
327 icy settings.
328
329
331 This manual page was auto-generated using sepolicy manpage .
332
333
335 selinux(8), container_runtime(8), semanage(8), restorecon(8), chcon(1),
336 sepolicy(8) , setsebool(8)
337
338
339
340container_runtime 19-04-25 container_runtime_selinux(8)