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 all domains to execute in fips_mode, you must turn
72 on the fips_mode boolean. Enabled by default.
73
74 setsebool -P fips_mode 1
75
76
77
79 SELinux defines port types to represent TCP and UDP ports.
80
81 You can see the types associated with a port by using the following
82 command:
83
84 semanage port -l
85
86
87 Policy governs the access confined processes have to these ports.
88 SELinux swift policy is very flexible allowing users to setup their
89 swift processes in as secure a method as possible.
90
91 The following port types are defined for swift:
92
93
94 swift_port_t
95
96
97
98 Default Defined Ports:
99 tcp 6200-6203
100
102 The SELinux process type swift_t can manage files labeled with the fol‐
103 lowing file types. The paths listed are the default paths for these
104 file types. Note the processes UID still need to have DAC permissions.
105
106 cluster_conf_t
107
108 /etc/cluster(/.*)?
109
110 cluster_var_lib_t
111
112 /var/lib/pcsd(/.*)?
113 /var/lib/cluster(/.*)?
114 /var/lib/openais(/.*)?
115 /var/lib/pengine(/.*)?
116 /var/lib/corosync(/.*)?
117 /usr/lib/heartbeat(/.*)?
118 /var/lib/heartbeat(/.*)?
119 /var/lib/pacemaker(/.*)?
120
121 cluster_var_run_t
122
123 /var/run/crm(/.*)?
124 /var/run/cman_.*
125 /var/run/rsctmp(/.*)?
126 /var/run/aisexec.*
127 /var/run/heartbeat(/.*)?
128 /var/run/corosync-qnetd(/.*)?
129 /var/run/corosync-qdevice(/.*)?
130 /var/run/corosync.pid
131 /var/run/cpglockd.pid
132 /var/run/rgmanager.pid
133 /var/run/cluster/rgmanager.sk
134
135 root_t
136
137 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
138 /
139 /initrd
140
141 swift_data_t
142
143 /srv/node(/.*)?
144 /var/lib/swift(/.*)?
145 /srv/loopback-device(/.*)?
146
147 swift_lock_t
148
149 /var/lock/swift.*
150
151 swift_tmpfs_t
152
153
154 swift_var_cache_t
155
156 /var/cache/swift(/.*)?
157
158 swift_var_run_t
159
160 /var/run/swift(/.*)?
161
162
164 SELinux requires files to have an extended attribute to define the file
165 type.
166
167 You can see the context of a file using the -Z option to ls
168
169 Policy governs the access confined processes have to these files.
170 SELinux swift policy is very flexible allowing users to setup their
171 swift processes in as secure a method as possible.
172
173 STANDARD FILE CONTEXT
174
175 SELinux defines the file context types for the swift, if you wanted to
176 store files with these types in a diffent paths, you need to execute
177 the semanage command to sepecify alternate labeling and then use
178 restorecon to put the labels on disk.
179
180 semanage fcontext -a -t swift_data_t '/srv/myswift_content(/.*)?'
181 restorecon -R -v /srv/myswift_content
182
183 Note: SELinux often uses regular expressions to specify labels that
184 match multiple files.
185
186 The following file types are defined for swift:
187
188
189
190 swift_data_t
191
192 - Set files with the swift_data_t type, if you want to treat the files
193 as swift content.
194
195
196 Paths:
197 /srv/node(/.*)?, /var/lib/swift(/.*)?, /srv/loopback-device(/.*)?
198
199
200 swift_exec_t
201
202 - Set files with the swift_exec_t type, if you want to transition an
203 executable to the swift_t domain.
204
205
206 Paths:
207 /usr/bin/swift-object-info, /usr/bin/swift-proxy-server,
208 /usr/bin/swift-object-server, /usr/bin/swift-account-reaper,
209 /usr/bin/swift-account-server, /usr/bin/swift-container-sync,
210 /usr/bin/swift-object-auditor, /usr/bin/swift-object-expirer,
211 /usr/bin/swift-object-updater, /usr/bin/swift-account-auditor,
212 /usr/bin/swift-container-server, /usr/bin/swift-container-auditor,
213 /usr/bin/swift-container-updater, /usr/bin/swift-object-replica‐
214 tor, /usr/bin/swift-account-replicator, /usr/bin/swift-container-
215 reconciler, /usr/bin/swift-container-replicator
216
217
218 swift_lock_t
219
220 - Set files with the swift_lock_t type, if you want to treat the files
221 as swift lock data, stored under the /var/lock directory
222
223
224
225 swift_tmp_t
226
227 - Set files with the swift_tmp_t type, if you want to store swift tem‐
228 porary files in the /tmp directories.
229
230
231
232 swift_tmpfs_t
233
234 - Set files with the swift_tmpfs_t type, if you want to store swift
235 files on a tmpfs file system.
236
237
238
239 swift_unit_file_t
240
241 - Set files with the swift_unit_file_t type, if you want to treat the
242 files as swift unit content.
243
244
245
246 swift_var_cache_t
247
248 - Set files with the swift_var_cache_t type, if you want to store the
249 files under the /var/cache directory.
250
251
252
253 swift_var_run_t
254
255 - Set files with the swift_var_run_t type, if you want to store the
256 swift files under the /run or /var/run directory.
257
258
259
260 Note: File context can be temporarily modified with the chcon command.
261 If you want to permanently change the file context you need to use the
262 semanage fcontext command. This will modify the SELinux labeling data‐
263 base. You will need to use restorecon to apply the labels.
264
265
267 semanage fcontext can also be used to manipulate default file context
268 mappings.
269
270 semanage permissive can also be used to manipulate whether or not a
271 process type is permissive.
272
273 semanage module can also be used to enable/disable/install/remove pol‐
274 icy modules.
275
276 semanage port can also be used to manipulate the port definitions
277
278 semanage boolean can also be used to manipulate the booleans
279
280
281 system-config-selinux is a GUI tool available to customize SELinux pol‐
282 icy settings.
283
284
286 This manual page was auto-generated using sepolicy manpage .
287
288
290 selinux(8), swift(8), semanage(8), restorecon(8), chcon(1), sepol‐
291 icy(8), setsebool(8)
292
293
294
295swift 20-05-05 swift_selinux(8)