1gpg_selinux(8) SELinux Policy gpg gpg_selinux(8)
2
3
4
6 gpg_selinux - Security Enhanced Linux Policy for the gpg processes
7
9 Security-Enhanced Linux secures the gpg processes via flexible manda‐
10 tory access control.
11
12 The gpg processes execute with the gpg_t SELinux type. You can check if
13 you have these processes running by executing the ps command with the
14 -Z qualifier.
15
16 For example:
17
18 ps -eZ | grep gpg_t
19
20
21
23 The gpg_t SELinux type can be entered via the gpg_exec_t file type.
24
25 The default entrypoint paths for the gpg_t domain are the following:
26
27 /usr/bin/gpg(2)?, /usr/lib/gnupg/.*, /usr/bin/gpgsm
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 gpg policy is very flexible allowing users to setup their gpg processes
37 in as secure a method as possible.
38
39 The following process types are defined for gpg:
40
41 gpg_t, gpg_agent_t, gpg_helper_t, gpg_pinentry_t, gpg_web_t
42
43 Note: semanage permissive -a gpg_t can be used to make the process type
44 gpg_t permissive. SELinux does not deny access to permissive process
45 types, but the AVC (SELinux denials) messages are still generated.
46
47
49 SELinux policy is customizable based on least access required. gpg
50 policy is extremely flexible and has several booleans that allow you to
51 manipulate the policy and run gpg with the tightest access possible.
52
53
54
55 If you want to allow users to resolve user passwd entries directly from
56 ldap rather then using a sssd server, you must turn on the authlo‐
57 gin_nsswitch_use_ldap boolean. Disabled by default.
58
59 setsebool -P authlogin_nsswitch_use_ldap 1
60
61
62
63 If you want to deny any process from ptracing or debugging any other
64 processes, you must turn on the deny_ptrace boolean. Enabled by
65 default.
66
67 setsebool -P deny_ptrace 1
68
69
70
71 If you want to allow any process to mmap any file on system with
72 attribute file_type, you must turn on the domain_can_mmap_files bool‐
73 ean. Enabled by default.
74
75 setsebool -P domain_can_mmap_files 1
76
77
78
79 If you want to allow all domains write to kmsg_device, while kernel is
80 executed with systemd.log_target=kmsg parameter, you must turn on the
81 domain_can_write_kmsg boolean. Disabled by default.
82
83 setsebool -P domain_can_write_kmsg 1
84
85
86
87 If you want to allow all domains to use other domains file descriptors,
88 you must turn on the domain_fd_use boolean. Enabled by default.
89
90 setsebool -P domain_fd_use 1
91
92
93
94 If you want to allow all domains to have the kernel load modules, you
95 must turn on the domain_kernel_load_modules boolean. Disabled by
96 default.
97
98 setsebool -P domain_kernel_load_modules 1
99
100
101
102 If you want to allow all domains to execute in fips_mode, you must turn
103 on the fips_mode boolean. Enabled by default.
104
105 setsebool -P fips_mode 1
106
107
108
109 If you want to enable reading of urandom for all domains, you must turn
110 on the global_ssp boolean. Disabled by default.
111
112 setsebool -P global_ssp 1
113
114
115
116 If you want to allow confined applications to run with kerberos, you
117 must turn on the kerberos_enabled boolean. Enabled by default.
118
119 setsebool -P kerberos_enabled 1
120
121
122
123 If you want to allow system to run with NIS, you must turn on the
124 nis_enabled boolean. Disabled by default.
125
126 setsebool -P nis_enabled 1
127
128
129
130 If you want to allow confined applications to use nscd shared memory,
131 you must turn on the nscd_use_shm boolean. Disabled by default.
132
133 setsebool -P nscd_use_shm 1
134
135
136
137 If you want to support ecryptfs home directories, you must turn on the
138 use_ecryptfs_home_dirs boolean. Disabled by default.
139
140 setsebool -P use_ecryptfs_home_dirs 1
141
142
143
144 If you want to support fusefs home directories, you must turn on the
145 use_fusefs_home_dirs boolean. Disabled by default.
146
147 setsebool -P use_fusefs_home_dirs 1
148
149
150
151 If you want to support NFS home directories, you must turn on the
152 use_nfs_home_dirs boolean. Disabled by default.
153
154 setsebool -P use_nfs_home_dirs 1
155
156
157
158 If you want to support SAMBA home directories, you must turn on the
159 use_samba_home_dirs boolean. Disabled by default.
160
161 setsebool -P use_samba_home_dirs 1
162
163
164
166 The SELinux process type gpg_t can manage files labeled with the fol‐
167 lowing file types. The paths listed are the default paths for these
168 file types. Note the processes UID still need to have DAC permissions.
169
170 cifs_t
171
172
173 ecryptfs_t
174
175 /home/[^/]+/.Private(/.*)?
176 /home/[^/]+/.ecryptfs(/.*)?
177
178 etc_mail_t
179
180 /etc/mail(/.*)?
181
182 fusefs_t
183
184 /var/run/user/[^/]*/gvfs
185
186 gnome_home_type
187
188
189 gpg_agent_tmp_t
190
191 /home/[^/]+/.gnupg/log-socket
192
193 gpg_secret_t
194
195 /root/.gnupg(/.+)?
196 /etc/mail/spamassassin/sa-update-keys(/.*)?
197 /home/[^/]+/.gnupg(/.+)?
198
199 mozilla_home_t
200
201 /home/[^/]+/.lyx(/.*)?
202 /home/[^/]+/.java(/.*)?
203 /home/[^/]+/.adobe(/.*)?
204 /home/[^/]+/.gnash(/.*)?
205 /home/[^/]+/.webex(/.*)?
206 /home/[^/]+/.galeon(/.*)?
207 /home/[^/]+/.spicec(/.*)?
208 /home/[^/]+/.IBMERS(/.*)?
209 /home/[^/]+/POkemon.*(/.*)?
210 /home/[^/]+/.mozilla(/.*)?
211 /home/[^/]+/.phoenix(/.*)?
212 /home/[^/]+/.icedtea(/.*)?
213 /home/[^/]+/.netscape(/.*)?
214 /home/[^/]+/.quakelive(/.*)?
215 /home/[^/]+/.ICAClient(/.*)?
216 /home/[^/]+/.macromedia(/.*)?
217 /home/[^/]+/.thunderbird(/.*)?
218 /home/[^/]+/.gcjwebplugin(/.*)?
219 /home/[^/]+/.grl-podcasts(/.*)?
220 /home/[^/]+/.cache/mozilla(/.*)?
221 /home/[^/]+/.icedteaplugin(/.*)?
222 /home/[^/]+/zimbrauserdata(/.*)?
223 /home/[^/]+/.config/chromium(/.*)?
224 /home/[^/]+/.juniper_networks(/.*)?
225 /home/[^/]+/.cache/icedtea-web(/.*)?
226 /home/[^/]+/abc
227 /home/[^/]+/mozilla.pdf
228 /home/[^/]+/.gnashpluginrc
229
230 nfs_t
231
232
233 user_home_t
234
235 /home/[^/]+/.+
236
237 user_tmp_type
238
239 all user tmp files
240
241
243 SELinux requires files to have an extended attribute to define the file
244 type.
245
246 You can see the context of a file using the -Z option to ls
247
248 Policy governs the access confined processes have to these files.
249 SELinux gpg policy is very flexible allowing users to setup their gpg
250 processes in as secure a method as possible.
251
252 STANDARD FILE CONTEXT
253
254 SELinux defines the file context types for the gpg, if you wanted to
255 store files with these types in a diffent paths, you need to execute
256 the semanage command to sepecify alternate labeling and then use
257 restorecon to put the labels on disk.
258
259 semanage fcontext -a -t gpg_secret_t '/srv/mygpg_content(/.*)?'
260 restorecon -R -v /srv/mygpg_content
261
262 Note: SELinux often uses regular expressions to specify labels that
263 match multiple files.
264
265 The following file types are defined for gpg:
266
267
268
269 gpg_agent_exec_t
270
271 - Set files with the gpg_agent_exec_t type, if you want to transition
272 an executable to the gpg_agent_t domain.
273
274
275
276 gpg_agent_tmp_t
277
278 - Set files with the gpg_agent_tmp_t type, if you want to store gpg
279 agent temporary files in the /tmp directories.
280
281
282
283 gpg_exec_t
284
285 - Set files with the gpg_exec_t type, if you want to transition an exe‐
286 cutable to the gpg_t domain.
287
288
289 Paths:
290 /usr/bin/gpg(2)?, /usr/lib/gnupg/.*, /usr/bin/gpgsm
291
292
293 gpg_helper_exec_t
294
295 - Set files with the gpg_helper_exec_t type, if you want to transition
296 an executable to the gpg_helper_t domain.
297
298
299
300 gpg_pinentry_tmp_t
301
302 - Set files with the gpg_pinentry_tmp_t type, if you want to store gpg
303 pinentry temporary files in the /tmp directories.
304
305
306
307 gpg_pinentry_tmpfs_t
308
309 - Set files with the gpg_pinentry_tmpfs_t type, if you want to store
310 gpg pinentry files on a tmpfs file system.
311
312
313
314 gpg_secret_t
315
316 - Set files with the gpg_secret_t type, if you want to treat the files
317 as gpg se secret data.
318
319
320 Paths:
321 /root/.gnupg(/.+)?, /etc/mail/spamassassin/sa-update-keys(/.*)?,
322 /home/[^/]+/.gnupg(/.+)?
323
324
325 Note: File context can be temporarily modified with the chcon command.
326 If you want to permanently change the file context you need to use the
327 semanage fcontext command. This will modify the SELinux labeling data‐
328 base. You will need to use restorecon to apply the labels.
329
330
332 semanage fcontext can also be used to manipulate default file context
333 mappings.
334
335 semanage permissive can also be used to manipulate whether or not a
336 process type is permissive.
337
338 semanage module can also be used to enable/disable/install/remove pol‐
339 icy modules.
340
341 semanage boolean can also be used to manipulate the booleans
342
343
344 system-config-selinux is a GUI tool available to customize SELinux pol‐
345 icy settings.
346
347
349 This manual page was auto-generated using sepolicy manpage .
350
351
353 selinux(8), gpg(8), semanage(8), restorecon(8), chcon(1), sepolicy(8) ,
354 setsebool(8), gpg_agent_selinux(8), gpg_agent_selinux(8),
355 gpg_helper_selinux(8), gpg_helper_selinux(8), gpg_pinentry_selinux(8),
356 gpg_pinentry_selinux(8), gpg_web_selinux(8), gpg_web_selinux(8)
357
358
359
360gpg 19-04-25 gpg_selinux(8)