1swift_selinux(8) SELinux Policy swift swift_selinux(8)
2
3
4
6 swift_selinux - Security Enhanced Linux Policy for the swift processes
7
9 Security-Enhanced Linux secures the swift processes via flexible manda‐
10 tory access control.
11
12 The swift processes execute with the swift_t SELinux type. You can
13 check if you have these processes running by executing the ps command
14 with the -Z qualifier.
15
16 For example:
17
18 ps -eZ | grep swift_t
19
20
21
23 The swift_t SELinux type can be entered via the swift_exec_t file type.
24
25 The default entrypoint paths for the swift_t domain are the following:
26
27 /usr/bin/swift-object-info, /usr/bin/swift-proxy-server,
28 /usr/bin/swift-object-server, /usr/bin/swift-account-reaper,
29 /usr/bin/swift-account-server, /usr/bin/swift-container-sync,
30 /usr/bin/swift-object-auditor, /usr/bin/swift-object-expirer,
31 /usr/bin/swift-object-updater, /usr/bin/swift-account-auditor,
32 /usr/bin/swift-container-server, /usr/bin/swift-container-auditor,
33 /usr/bin/swift-container-updater, /usr/bin/swift-object-replicator,
34 /usr/bin/swift-account-replicator, /usr/bin/swift-container-reconciler,
35 /usr/bin/swift-container-replicator
36
38 SELinux defines process types (domains) for each process running on the
39 system
40
41 You can see the context of a process using the -Z option to ps
42
43 Policy governs the access confined processes have to files. SELinux
44 swift policy is very flexible allowing users to setup their swift pro‐
45 cesses in as secure a method as possible.
46
47 The following process types are defined for swift:
48
49 swift_t
50
51 Note: semanage permissive -a swift_t can be used to make the process
52 type swift_t permissive. SELinux does not deny access to permissive
53 process types, but the AVC (SELinux denials) messages are still gener‐
54 ated.
55
56
58 SELinux policy is customizable based on least access required. swift
59 policy is extremely flexible and has several booleans that allow you to
60 manipulate the policy and run swift with the tightest access possible.
61
62
63
64 If you want to determine whether swift can connect to all TCP ports,
65 you must turn on the swift_can_network boolean. Disabled by default.
66
67 setsebool -P swift_can_network 1
68
69
70
71 If you want to allow users to resolve user passwd entries directly from
72 ldap rather then using a sssd server, you must turn on the authlo‐
73 gin_nsswitch_use_ldap boolean. Disabled by default.
74
75 setsebool -P authlogin_nsswitch_use_ldap 1
76
77
78
79 If you want to allow all domains to execute in fips_mode, you must turn
80 on the fips_mode boolean. Enabled by default.
81
82 setsebool -P fips_mode 1
83
84
85
86 If you want to allow confined applications to run with kerberos, you
87 must turn on the kerberos_enabled boolean. Enabled by default.
88
89 setsebool -P kerberos_enabled 1
90
91
92
93 If you want to allow system to run with NIS, you must turn on the
94 nis_enabled boolean. Disabled by default.
95
96 setsebool -P nis_enabled 1
97
98
99
100 If you want to allow confined applications to use nscd shared memory,
101 you must turn on the nscd_use_shm boolean. Enabled by default.
102
103 setsebool -P nscd_use_shm 1
104
105
106
108 SELinux defines port types to represent TCP and UDP ports.
109
110 You can see the types associated with a port by using the following
111 command:
112
113 semanage port -l
114
115
116 Policy governs the access confined processes have to these ports.
117 SELinux swift policy is very flexible allowing users to setup their
118 swift processes in as secure a method as possible.
119
120 The following port types are defined for swift:
121
122
123 swift_port_t
124
125
126
127 Default Defined Ports:
128 tcp 6200-6203
129
131 The SELinux process type swift_t can manage files labeled with the fol‐
132 lowing file types. The paths listed are the default paths for these
133 file types. Note the processes UID still need to have DAC permissions.
134
135 cluster_conf_t
136
137 /etc/cluster(/.*)?
138
139 cluster_var_lib_t
140
141 /var/lib/pcsd(/.*)?
142 /var/lib/cluster(/.*)?
143 /var/lib/openais(/.*)?
144 /var/lib/pengine(/.*)?
145 /var/lib/corosync(/.*)?
146 /usr/lib/heartbeat(/.*)?
147 /var/lib/heartbeat(/.*)?
148 /var/lib/pacemaker(/.*)?
149
150 cluster_var_run_t
151
152 /var/run/crm(/.*)?
153 /var/run/cman_.*
154 /var/run/rsctmp(/.*)?
155 /var/run/aisexec.*
156 /var/run/heartbeat(/.*)?
157 /var/run/corosync-qnetd(/.*)?
158 /var/run/corosync-qdevice(/.*)?
159 /var/run/corosync.pid
160 /var/run/cpglockd.pid
161 /var/run/rgmanager.pid
162 /var/run/cluster/rgmanager.sk
163
164 root_t
165
166 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
167 /
168 /initrd
169
170 swift_data_t
171
172 /srv/node(/.*)?
173 /var/lib/swift(/.*)?
174 /srv/loopback-device(/.*)?
175
176 swift_lock_t
177
178 /var/lock/swift.*
179
180 swift_tmp_t
181
182
183 swift_tmpfs_t
184
185
186 swift_var_cache_t
187
188 /var/cache/swift(/.*)?
189
190 swift_var_run_t
191
192 /var/run/swift(/.*)?
193
194
196 SELinux requires files to have an extended attribute to define the file
197 type.
198
199 You can see the context of a file using the -Z option to ls
200
201 Policy governs the access confined processes have to these files.
202 SELinux swift policy is very flexible allowing users to setup their
203 swift processes in as secure a method as possible.
204
205 STANDARD FILE CONTEXT
206
207 SELinux defines the file context types for the swift, if you wanted to
208 store files with these types in a diffent paths, you need to execute
209 the semanage command to sepecify alternate labeling and then use
210 restorecon to put the labels on disk.
211
212 semanage fcontext -a -t swift_data_t '/srv/myswift_content(/.*)?'
213 restorecon -R -v /srv/myswift_content
214
215 Note: SELinux often uses regular expressions to specify labels that
216 match multiple files.
217
218 The following file types are defined for swift:
219
220
221
222 swift_data_t
223
224 - Set files with the swift_data_t type, if you want to treat the files
225 as swift content.
226
227
228 Paths:
229 /srv/node(/.*)?, /var/lib/swift(/.*)?, /srv/loopback-device(/.*)?
230
231
232 swift_exec_t
233
234 - Set files with the swift_exec_t type, if you want to transition an
235 executable to the swift_t domain.
236
237
238 Paths:
239 /usr/bin/swift-object-info, /usr/bin/swift-proxy-server,
240 /usr/bin/swift-object-server, /usr/bin/swift-account-reaper,
241 /usr/bin/swift-account-server, /usr/bin/swift-container-sync,
242 /usr/bin/swift-object-auditor, /usr/bin/swift-object-expirer,
243 /usr/bin/swift-object-updater, /usr/bin/swift-account-auditor,
244 /usr/bin/swift-container-server, /usr/bin/swift-container-auditor,
245 /usr/bin/swift-container-updater, /usr/bin/swift-object-replica‐
246 tor, /usr/bin/swift-account-replicator, /usr/bin/swift-container-
247 reconciler, /usr/bin/swift-container-replicator
248
249
250 swift_lock_t
251
252 - Set files with the swift_lock_t type, if you want to treat the files
253 as swift lock data, stored under the /var/lock directory
254
255
256
257 swift_tmp_t
258
259 - Set files with the swift_tmp_t type, if you want to store swift tem‐
260 porary files in the /tmp directories.
261
262
263
264 swift_tmpfs_t
265
266 - Set files with the swift_tmpfs_t type, if you want to store swift
267 files on a tmpfs file system.
268
269
270
271 swift_unit_file_t
272
273 - Set files with the swift_unit_file_t type, if you want to treat the
274 files as swift unit content.
275
276
277
278 swift_var_cache_t
279
280 - Set files with the swift_var_cache_t type, if you want to store the
281 files under the /var/cache directory.
282
283
284
285 swift_var_run_t
286
287 - Set files with the swift_var_run_t type, if you want to store the
288 swift files under the /run or /var/run directory.
289
290
291
292 Note: File context can be temporarily modified with the chcon command.
293 If you want to permanently change the file context you need to use the
294 semanage fcontext command. This will modify the SELinux labeling data‐
295 base. You will need to use restorecon to apply the labels.
296
297
299 semanage fcontext can also be used to manipulate default file context
300 mappings.
301
302 semanage permissive can also be used to manipulate whether or not a
303 process type is permissive.
304
305 semanage module can also be used to enable/disable/install/remove pol‐
306 icy modules.
307
308 semanage port can also be used to manipulate the port definitions
309
310 semanage boolean can also be used to manipulate the booleans
311
312
313 system-config-selinux is a GUI tool available to customize SELinux pol‐
314 icy settings.
315
316
318 This manual page was auto-generated using sepolicy manpage .
319
320
322 selinux(8), swift(8), semanage(8), restorecon(8), chcon(1), sepol‐
323 icy(8), setsebool(8)
324
325
326
327swift 19-10-08 swift_selinux(8)