Current File : //kunden/usr/share/selinux/devel/html/webadm.html
<!-- Creator     : groff version 1.22.4 -->
<!-- CreationDate: Thu Apr 10 20:00:00 2025 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
       h1      { text-align: center }
</style>
<title>webadm_selinux</title>

</head>
<body>

<h1 align="center">webadm_selinux</h1>

<a href="#NAME">NAME</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#BOOLEANS">BOOLEANS</a><br>
<a href="#MANAGED FILES">MANAGED FILES</a><br>
<a href="#COMMANDS">COMMANDS</a><br>
<a href="#AUTHOR">AUTHOR</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>

<hr>


<h2>NAME
<a name="NAME"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">webadm_r
&minus; <b>Web administrator role.</b> - Security Enhanced
Linux Policy</p>

<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">SELinux
supports Roles Based Access Control (RBAC), some Linux roles
are login roles, while other roles need to be transition
into.</p>

<p style="margin-left:11%; margin-top: 1em"><i>Note:</i>
Examples in this man page will use the <b>staff_u</b>
SELinux user.</p>

<p style="margin-left:11%; margin-top: 1em">Non login roles
are usually used for administrative tasks. For example,
tasks that require root privileges. Roles control which
types a user can run processes with. Roles often have
default types assigned to them.</p>

<p style="margin-left:11%; margin-top: 1em">The default
type for the webadm_r role is webadm_t.</p>

<p style="margin-left:11%; margin-top: 1em">The
<b>newrole</b> program to transition directly to this
role.</p>

<p style="margin-left:11%; margin-top: 1em"><b>newrole -r
webadm_r -t webadm_t</b></p>

<p style="margin-left:11%; margin-top: 1em"><b>sudo</b> is
the preferred method to do transition from one role to
another. You setup sudo to transition to webadm_r by adding
a similar line to the /etc/sudoers file.</p>

<p style="margin-left:11%; margin-top: 1em">USERNAME
ALL=(ALL) ROLE=webadm_r TYPE=webadm_t COMMAND</p>

<p style="margin-left:11%; margin-top: 1em">sudo will run
COMMAND as staff_u:webadm_r:webadm_t:LEVEL</p>

<p style="margin-left:11%; margin-top: 1em">When using a
non login role, you need to setup SELinux so that your
SELinux user can reach webadm_r role.</p>

<p style="margin-left:11%; margin-top: 1em">Execute the
following to see all of the assigned SELinux roles:</p>

<p style="margin-left:11%; margin-top: 1em"><b>semanage
user -l</b></p>

<p style="margin-left:11%; margin-top: 1em">You need to add
webadm_r to the staff_u user. You could setup the staff_u
user to be able to use the webadm_r role with a command
like:</p>

<p style="margin-left:11%; margin-top: 1em"><b>$ semanage
user -m -R &rsquo;staff_r system_r webadm_r&rsquo;
staff_u</b></p>

<h2>BOOLEANS
<a name="BOOLEANS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">SELinux policy
is customizable based on least access required. webadm
policy is extremely flexible and has several booleans that
allow you to manipulate the policy and run webadm with the
tightest access possible.</p>

<p style="margin-left:11%; margin-top: 1em">If you want to
determine whether webadm can manage generic user files, you
must turn on the webadm_manage_user_files boolean. Disabled
by default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
webadm_manage_user_files 1</b></p>

<p style="margin-left:11%; margin-top: 1em">If you want to
determine whether webadm can read generic user files, you
must turn on the webadm_read_user_files boolean. Disabled by
default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
webadm_read_user_files 1</b></p>

<p style="margin-left:11%; margin-top: 1em">If you want to
deny user domains applications to map a memory region as
both executable and writable, this is dangerous and the
executable should be reported in bugzilla, you must turn on
the deny_execmem boolean. Disabled by default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
deny_execmem 1</b></p>

<p style="margin-left:11%; margin-top: 1em">If you want to
deny any process from ptracing or debugging any other
processes, you must turn on the deny_ptrace boolean.
Disabled by default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
deny_ptrace 1</b></p>

<p style="margin-left:11%; margin-top: 1em">If you want to
allow all domains to execute in fips_mode, you must turn on
the fips_mode boolean. Enabled by default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
fips_mode 1</b></p>

<p style="margin-left:11%; margin-top: 1em">If you want to
allow unconfined executables to make their stack executable.
This should never, ever be necessary. Probably indicates a
badly coded executable, but could indicate an attack. This
executable should be reported in bugzilla, you must turn on
the selinuxuser_execstack boolean. Enabled by default.</p>

<p style="margin-left:11%; margin-top: 1em"><b>setsebool -P
selinuxuser_execstack 1</b></p>

<h2>MANAGED FILES
<a name="MANAGED FILES"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">The SELinux
process type webadm_t can manage files labeled with the
following file types. The paths listed are the default paths
for these file types. Note the processes UID still need to
have DAC permissions.</p>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_config_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/httpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/nginx(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/apache(2)?(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/cherokee(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/lighttpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/apache-ssl(2)?(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/var/lib/openshift/.httpd.d(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/opt/rh/rh-nginx18/nginx(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/var/lib/stickshift/.httpd.d(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/vhosts</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="7%"></td>
<td width="85%">


<p>/etc/thttpd.conf</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_lock_t</b></p>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_log_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/srv/([^/]*/)?www/logs(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www(/.*)?/logs(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/glpi(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/cacti(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/httpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/nginx(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/apache(2)?(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/horizon(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/php-fpm(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/cherokee(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/lighttpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/suphp.log.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/thttpd.log.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/apache-ssl(2)?(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/cgiwrap.log.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/stickshift/[^/]*/log(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/graphite-web(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/miq/vmdb/log(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/roundcubemail(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/php_errors.log.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/log/dirsrv/admin-serv(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/opt/rh/rh-nginx18/log(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/lib/openshift/.log/httpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/console/log(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/broker/httpd/logs(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/console/httpd/logs(/.*)?</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_modules_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/httpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/apache(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/cherokee(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/lighttpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/apache2/modules(/.*)?</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_php_tmp_t</b></p>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_script_exec_type</b></p>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_suexec_tmp_t</b></p>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_tmp_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/user/apache(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/console/tmp(/.*)?</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_unit_file_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/systemd/system/httpd.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/systemd/system/nginx.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/systemd/system/thttpd.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/usr/lib/systemd/system/php-fpm.*</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpd_var_run_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/mod_.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/wsgi.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/httpd.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/nginx.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/apache.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/php-fpm(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/fcgiwrap(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/lighttpd(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/lib/php/session(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/lib/php/wsdlcache(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/dirsrv/admin-serv.*</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/opt/rh/rh-nginx18/run/nginx(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/broker/httpd/run(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/www/openshift/console/httpd/run(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/opt/dirsrv/var/run/dirsrv/dsgw/cookies(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/thttpd.pid</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/gcache_port</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/cherokee.pid</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>httpdcontent</b></p>


<p style="margin-left:11%; margin-top: 1em"><b>systemd_passwd_var_run_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/systemd/ask-password(/.*)?</p></td></tr>
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/var/run/systemd/ask-password-block(/.*)?</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>user_home_t</b></p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="8%"></td>
<td width="92%">


<p>/home/[^/]+/.+</p></td></tr>
</table>


<p style="margin-left:11%; margin-top: 1em"><b>webadm_tmp_t</b></p>

<h2>COMMANDS
<a name="COMMANDS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em"><b>semanage
fcontext</b> can also be used to manipulate default file
context mappings.</p>

<p style="margin-left:11%; margin-top: 1em"><b>semanage
permissive</b> can also be used to manipulate whether or not
a process type is permissive.</p>

<p style="margin-left:11%; margin-top: 1em"><b>semanage
module</b> can also be used to enable/disable/install/remove
policy modules.</p>

<p style="margin-left:11%; margin-top: 1em"><b>semanage
boolean</b> can also be used to manipulate the booleans</p>


<p style="margin-left:11%; margin-top: 1em"><b>system-config-selinux</b>
is a GUI tool available to customize SELinux policy
settings.</p>

<h2>AUTHOR
<a name="AUTHOR"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">This manual
page was auto-generated using <b>sepolicy manpage .</b></p>

<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">selinux(8),
webadm(8), semanage(8), restorecon(8), chcon(1),
sepolicy(8), setsebool(8)</p>
<hr>
</body>
</html>