1webadm_selinux(8) webadm SELinux Policy documentation webadm_selinux(8)
2
3
4
6 webadm_r - Web administrator role. - Security Enhanced Linux Policy
7
8
10 SELinux supports Roles Based Access Control (RBAC), some Linux roles
11 are login roles, while other roles need to be transition into.
12
13 Note: Examples in this man page will use the staff_u SELinux user.
14
15 Non login roles are usually used for administrative tasks. For example,
16 tasks that require root privileges. Roles control which types a user
17 can run processes with. Roles often have default types assigned to
18 them.
19
20 The default type for the webadm_r role is webadm_t.
21
22 The newrole program to transition directly to this role.
23
24 newrole -r webadm_r -t webadm_t
25
26 sudo is the preferred method to do transition from one role to another.
27 You setup sudo to transition to webadm_r by adding a similar line to
28 the /etc/sudoers file.
29
30 USERNAME ALL=(ALL) ROLE=webadm_r TYPE=webadm_t COMMAND
31
32 sudo will run COMMAND as staff_u:webadm_r:webadm_t:LEVEL
33
34 When using a a non login role, you need to setup SELinux so that your
35 SELinux user can reach webadm_r role.
36
37 Execute the following to see all of the assigned SELinux roles:
38
39 semanage user -l
40
41 You need to add webadm_r to the staff_u user. You could setup the
42 staff_u user to be able to use the webadm_r role with a command like:
43
44 $ semanage user -m -R 'staff_r system_r webadm_r' staff_u
45
46
47
49 SELinux policy is customizable based on least access required. webadm
50 policy is extremely flexible and has several booleans that allow you to
51 manipulate the policy and run webadm with the tightest access possible.
52
53
54
55 If you want to determine whether webadm can manage generic user files,
56 you must turn on the webadm_manage_user_files boolean. Disabled by
57 default.
58
59 setsebool -P webadm_manage_user_files 1
60
61
62
63 If you want to determine whether webadm can read generic user files,
64 you must turn on the webadm_read_user_files boolean. Disabled by
65 default.
66
67 setsebool -P webadm_read_user_files 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 deny user domains applications to map a memory region as
80 both executable and writable, this is dangerous and the executable
81 should be reported in bugzilla, you must turn on the deny_execmem bool‐
82 ean. Enabled by default.
83
84 setsebool -P deny_execmem 1
85
86
87
88 If you want to deny any process from ptracing or debugging any other
89 processes, you must turn on the deny_ptrace boolean. Enabled by
90 default.
91
92 setsebool -P deny_ptrace 1
93
94
95
96 If you want to allow any process to mmap any file on system with
97 attribute file_type, you must turn on the domain_can_mmap_files bool‐
98 ean. Enabled by default.
99
100 setsebool -P domain_can_mmap_files 1
101
102
103
104 If you want to allow all domains write to kmsg_device, while kernel is
105 executed with systemd.log_target=kmsg parameter, you must turn on the
106 domain_can_write_kmsg boolean. Disabled by default.
107
108 setsebool -P domain_can_write_kmsg 1
109
110
111
112 If you want to allow all domains to use other domains file descriptors,
113 you must turn on the domain_fd_use boolean. Enabled by default.
114
115 setsebool -P domain_fd_use 1
116
117
118
119 If you want to allow all domains to have the kernel load modules, you
120 must turn on the domain_kernel_load_modules boolean. Disabled by
121 default.
122
123 setsebool -P domain_kernel_load_modules 1
124
125
126
127 If you want to allow all domains to execute in fips_mode, you must turn
128 on the fips_mode boolean. Enabled by default.
129
130 setsebool -P fips_mode 1
131
132
133
134 If you want to enable reading of urandom for all domains, you must turn
135 on the global_ssp boolean. Disabled by default.
136
137 setsebool -P global_ssp 1
138
139
140
141 If you want to allow confined applications to run with kerberos, you
142 must turn on the kerberos_enabled boolean. Enabled by default.
143
144 setsebool -P kerberos_enabled 1
145
146
147
148 If you want to allow logging in and using the system from /dev/console,
149 you must turn on the login_console_enabled boolean. Enabled by default.
150
151 setsebool -P login_console_enabled 1
152
153
154
155 If you want to allow system to run with NIS, you must turn on the
156 nis_enabled boolean. Disabled by default.
157
158 setsebool -P nis_enabled 1
159
160
161
162 If you want to allow confined applications to use nscd shared memory,
163 you must turn on the nscd_use_shm boolean. Disabled by default.
164
165 setsebool -P nscd_use_shm 1
166
167
168
169 If you want to disallow programs, such as newrole, from transitioning
170 to administrative user domains, you must turn on the secure_mode bool‐
171 ean. Enabled by default.
172
173 setsebool -P secure_mode 1
174
175
176
177 If you want to allow unconfined executables to make their stack exe‐
178 cutable. This should never, ever be necessary. Probably indicates a
179 badly coded executable, but could indicate an attack. This executable
180 should be reported in bugzilla, you must turn on the selinuxuser_exec‐
181 stack boolean. Enabled by default.
182
183 setsebool -P selinuxuser_execstack 1
184
185
186
187 If you want to allow ssh logins as sysadm_r:sysadm_t, you must turn on
188 the ssh_sysadm_login boolean. Disabled by default.
189
190 setsebool -P ssh_sysadm_login 1
191
192
193
194 If you want to allow the graphical login program to login directly as
195 sysadm_r:sysadm_t, you must turn on the xdm_sysadm_login boolean. Dis‐
196 abled by default.
197
198 setsebool -P xdm_sysadm_login 1
199
200
201
203 The SELinux process type webadm_t can manage files labeled with the
204 following file types. The paths listed are the default paths for these
205 file types. Note the processes UID still need to have DAC permissions.
206
207 httpd_config_t
208
209 /etc/httpd(/.*)?
210 /etc/nginx(/.*)?
211 /etc/apache(2)?(/.*)?
212 /etc/cherokee(/.*)?
213 /etc/lighttpd(/.*)?
214 /etc/apache-ssl(2)?(/.*)?
215 /var/lib/openshift/.httpd.d(/.*)?
216 /etc/opt/rh/rh-nginx18/nginx(/.*)?
217 /var/lib/stickshift/.httpd.d(/.*)?
218 /etc/vhosts
219 /etc/thttpd.conf
220
221 httpd_lock_t
222
223
224 httpd_log_t
225
226 /srv/([^/]*/)?www/logs(/.*)?
227 /var/www(/.*)?/logs(/.*)?
228 /var/log/glpi(/.*)?
229 /var/log/cacti(/.*)?
230 /var/log/httpd(/.*)?
231 /var/log/nginx(/.*)?
232 /var/log/apache(2)?(/.*)?
233 /var/log/horizon(/.*)?
234 /var/log/php-fpm(/.*)?
235 /var/log/cherokee(/.*)?
236 /var/log/lighttpd(/.*)?
237 /var/log/suphp.log.*
238 /var/log/thttpd.log.*
239 /var/log/apache-ssl(2)?(/.*)?
240 /var/log/cgiwrap.log.*
241 /var/www/stickshift/[^/]*/log(/.*)?
242 /var/log/graphite-web(/.*)?
243 /var/www/miq/vmdb/log(/.*)?
244 /var/log/roundcubemail(/.*)?
245 /var/log/php_errors.log.*
246 /var/opt/rh/rh-nginx18/log(/.*)?
247 /var/log/dirsrv/admin-serv(/.*)?
248 /var/lib/openshift/.log/httpd(/.*)?
249 /var/www/openshift/console/log(/.*)?
250 /var/www/openshift/broker/httpd/logs(/.*)?
251 /var/www/openshift/console/httpd/logs(/.*)?
252 /etc/httpd/logs
253
254 httpd_modules_t
255
256 /usr/lib/httpd(/.*)?
257 /usr/lib/apache(/.*)?
258 /usr/lib/cherokee(/.*)?
259 /usr/lib/lighttpd(/.*)?
260 /usr/lib/apache2/modules(/.*)?
261 /etc/httpd/modules
262
263 httpd_php_tmp_t
264
265
266 httpd_script_exec_type
267
268
269 httpd_suexec_tmp_t
270
271
272 httpd_tmp_t
273
274 /var/run/user/apache(/.*)?
275 /var/www/openshift/console/tmp(/.*)?
276
277 httpd_unit_file_t
278
279 /usr/lib/systemd/system/httpd.*
280 /usr/lib/systemd/system/jetty.*
281 /usr/lib/systemd/system/nginx.*
282 /usr/lib/systemd/system/thttpd.*
283 /usr/lib/systemd/system/php-fpm.*
284
285 httpd_var_run_t
286
287 /var/run/wsgi.*
288 /var/run/mod_.*
289 /var/run/httpd.*
290 /var/run/nginx.*
291 /var/run/apache.*
292 /var/run/php-fpm(/.*)?
293 /var/run/lighttpd(/.*)?
294 /var/lib/php/session(/.*)?
295 /var/lib/php/wsdlcache(/.*)?
296 /var/run/dirsrv/admin-serv.*
297 /var/opt/rh/rh-nginx18/run/nginx(/.*)?
298 /var/www/openshift/broker/httpd/run(/.*)?
299 /var/www/openshift/console/httpd/run(/.*)?
300 /opt/dirsrv/var/run/dirsrv/dsgw/cookies(/.*)?
301 /var/run/thttpd.pid
302 /var/run/gcache_port
303 /var/run/cherokee.pid
304
305 httpdcontent
306
307
308 public_content_rw_t
309
310 /var/spool/abrt-upload(/.*)?
311
312 systemd_passwd_var_run_t
313
314 /var/run/systemd/ask-password(/.*)?
315 /var/run/systemd/ask-password-block(/.*)?
316
317 user_home_t
318
319 /home/[^/]+/.+
320
321 user_tmp_t
322
323 /dev/shm/mono.*
324 /var/run/user(/.*)?
325 /tmp/.X11-unix(/.*)?
326 /tmp/.ICE-unix(/.*)?
327 /dev/shm/pulse-shm.*
328 /tmp/.X0-lock
329 /tmp/hsperfdata_root
330 /var/tmp/hsperfdata_root
331 /home/[^/]+/tmp
332 /home/[^/]+/.tmp
333 /tmp/gconfd-[^/]+
334
335 webadm_tmp_t
336
337
338
340 semanage fcontext can also be used to manipulate default file context
341 mappings.
342
343 semanage permissive can also be used to manipulate whether or not a
344 process type is permissive.
345
346 semanage module can also be used to enable/disable/install/remove pol‐
347 icy modules.
348
349 semanage boolean can also be used to manipulate the booleans
350
351
352 system-config-selinux is a GUI tool available to customize SELinux pol‐
353 icy settings.
354
355
357 This manual page was auto-generated using sepolicy manpage .
358
359
361 selinux(8), webadm(8), semanage(8), restorecon(8), chcon(1), sepol‐
362 icy(8) , setsebool(8)
363
364
365
366mgrepl@redhat.com webadm webadm_selinux(8)