Bug 1596367

Summary: tomcat_var_lib_t needed on /var/lib/tomcats directory
Product: Red Hat Enterprise Linux 7 Reporter: David Mulford <dmulford>
Component: selinux-policyAssignee: Lukas Vrabec <lvrabec>
Status: CLOSED ERRATA QA Contact: Milos Malik <mmalik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.4CC: csutherl, lvrabec, mgrepl, mmalik, plautrba, ssekidde, zpytela
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: selinux-policy-3.13.1-207.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-30 10:05:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description David Mulford 2018-06-28 17:20:23 UTC
Description of problem:

In order to run multiple instances of Tomcat on a single machine, the following article recommends labelling the /var/lib/tomcats directory with tomcat_var_lib_t. Without this, Tomcat cannot start due to permission denied errors.

Here is the article: https://access.redhat.com/solutions/2386441

Here are the recommended commands from the article:

  $ sudo semanage fcontext -a -t tomcat_var_lib_t  "/var/lib/tomcats(/.*)?" 
  $ sudo restorecon -R -v /var/lib/tomcats

After discussing with other engineers, the tomcat_var_lib_t context may be a bit too liberal, as it allows read/write access to the directory; see below.

  allow tomcat_t tomcat_var_lib_t : file { ioctl read write create getattr setattr lock append unlink link rename open } ; 
  allow tomcat_t tomcat_var_lib_t : dir { ioctl read write create getattr setattr lock unlink link rename add_name remove_name reparent search rmdir open } ;

Note that this currently applies to scenarios where the RHEL tomcat package is used, and multiple instances need to be running on one server.

Comment 3 Zdenek Pytela 2018-07-03 15:58:53 UTC
The article referred to expects there were multiple directories serving different purpose created:

/var/lib/tomcats/instance1/{logs,temp,webapps,work,conf}

While tomcat_var_lib_t context would work for the tomcat_t domain process accessing files in this directory tree in terms of not producing AVC denials, there should be more confined context considered for the subdirectories, like tomcat_log_t for logs, tomcat_tmp_t for temp files etc., but this should rather be clarified with tomcat developers.

Comment 6 errata-xmlrpc 2018-10-30 10:05:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3111