This file is indexed.

/usr/share/tomcat7-docs/docs/funcspecs/fs-admin-apps.html is in tomcat7-docs 7.0.52-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Catalina Functional Specifications (7.0.52) - Administrative Apps - Overall Requirements</title><meta name="author" content="Craig McClanahan"><style type="text/css" media="print">
            .noPrint {display: none;}
            td#mainBody {width: 100%;}
        </style><style type="text/css">
            code {background-color:rgb(224,255,255);padding:0 0.1em;}
            code.attributeName, code.propertyName {background-color:transparent;}
        </style><style type="text/css">
            .wrapped-source code { display: block; background-color: transparent; }
            .wrapped-source div { margin: 0 0 0 1.25em; }
            .wrapped-source p { margin: 0 0 0 1.25em; text-indent: -1.25em; }
        </style><style type="text/css">
            p.notice {
                border: 1px solid rgb(255, 0, 0);
                background-color: rgb(238, 238, 238);
                color: rgb(0, 51, 102);
                padding: 0.5em;
                margin: 1em 2em 1em 1em;
            }
        </style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="
      Catalina Functional Specifications
    " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.52, Feb 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Administrative Apps - Overall Requirements</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
<ul><li><a href="#Overview">Overview</a><ol><li><a href="#Introduction">Introduction</a></li><li><a href="#External_Specifications">External Specifications</a></li><li><a href="#Implementation_Requirements">Implementation Requirements</a></li></ol></li><li><a href="#Dependencies">Dependencies</a><ol><li><a href="#Environmental_Dependencies">Environmental Dependencies</a></li><li><a href="#Container_Dependencies">Container Dependencies</a></li><li><a href="#External_Technologies">External Technologies</a></li></ol></li><li><a href="#Functionality">Functionality</a><ol><li><a href="#Properties_of_Administered_Objects">Properties of Administered Objects</a></li><li><a href="#Supported_Administrative_Operations">Supported Administrative Operations</a></li><li><a href="#Access_Method_Specific_Requirements">Access Method Specific Requirements</a></li></ol></li><li><a href="#Testable_Assertions">Testable Assertions</a></li></ul>
</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

    <p>The purpose of this specification is to define high level requirements
    for administrative applications that can be used to manage the operation
    of a running Tomcat container.  A variety of <em>Access Methods</em>
    to the supported administrative functionality shall be supported, to
    meet varying requirements:</p>
    <ul>
    <li><em>As A Scriptable Web Application</em> - The existing
        <code>Manager</code> web application provides a simple HTTP-based
        interface for managing Tomcat through commands that are expressed
        entirely through a request URI.  This is useful in environments
        where you wish to script administrative commands with tools that
        can generate HTTP transactions.</li>
    <li><em>As An HTML-Based Web Application</em> - Use an HTML presentation
        to provide a GUI-like user interface for humans to interact with the
        administrative capabilities.</li>
    <li><em>As SOAP-Based Web Services</em> - The operational commands to
        administer Tomcat are made available as web services that utilize
        SOAP message formats.</li>
    <li><em>As Java Management Extensions (JMX) Commands</em> - The operational
        commands to administer Tomcat are made available through JMX APIs,
        for integration into management consoles that utilize them.</li>
    <li><em>Other Remote Access APIs</em> - Other remote access APIs, such
        as JINI, RMI, and CORBA can also be utilized to access administrative
        capabilities.</li>
    </ul>

    <p>Underlying all of the access methods described above, it is assumed
    that the actual operations are performed either directly on the
    corresponding Catalina components (such as calling the
    <code>Deployer.deploy()</code> method to deploy a new web application),
    or through a "business logic" layer that can be shared across all of the
    access methods.  This approach minimizes the cost of adding new
    administrative capabilities later -- it is only necessary to add the
    corresponding business logic function, and then write adapters to it for
    all desired access methods.</p>

    <p>The current status of this functional specification is
    <strong>PROPOSED</strong>.  It has not yet been discussed and
    agreed to on the TOMCAT-DEV mailing list.</p>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="External Specifications"><!--()--></a><a name="External_Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>

    <p>The implementation of this functionality depends on the following
    external specifications:</p>
    <ul>
    <li><a href="http://java.sun.com/products/jdk/idl/index.html">Java
        IDL</a> (for CORBA, included in the JDK)</li>
    <li><a href="http://java.sun.com/products/JavaManagement/index.html">
        Java Management Extensions</a></li>
    <li><a href="http://java.sun.com/products/rmi/index.html">Remote
        Method Invocation</a> (Included in the JDK)</li>
    </ul>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Implementation Requirements"><!--()--></a><a name="Implementation_Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>

    <p>The implementation of this functionality shall conform to the
    following requirements:</p>
    <ul>
    <li>To the maximum extent feasible, all administrative functions,
        and the access methods that support them, shall run portably
        on all platforms where Tomcat itself runs.</li>
    <li>In a default Tomcat distribution, all administrative capabilities
        shall be disabled.  It shall be necessary for a system
        administrator to specifically enable the desired access methods
        (such as by adding a username/password with a specific role to
        the Tomcat user's database.</li>
    <li>Administrative functions shall be realized as direct calls to
        corresponding Catalina APIs, or through a business logic layer
        that is independent of the access method used to initiate it.</li>
    <li>The common business logic components shall be implemented in
        package <code>org.apache.catalina.admin</code>.</li>
    <li>The common business logic components shall be built as part of the
        standard Catalina build process, and made visible in the
        Catalina class loader.</li>
    <li>The Java components required for each access method shall be
        implemented in subpackages of <code>org.apache.catalina.admin</code>.
        </li>
    <li>The build scripts should treat each access method as optional,
        so that it will be built only if the corresponding required
        APIs are present at build time.</li>
    <li>It shall be possible to save the configured state of the running
        Tomcat container such that this state can be reproduced when the
        container is shut down and restarted.</li>
    <li>Administrative commands to start up and shut down the overall
        Tomcat container are <strong>out of scope</strong> for the
        purposes of these applications.  It is assumed that other
        (usually platform-specific) mechanisms will be used for container
        startup and shutdown.</li>
    </ul>

  </blockquote></td></tr></table>


</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Environmental Dependencies"><!--()--></a><a name="Environmental_Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>

    <p>The following environmental dependencies must be met in order for
    administrative applications to operate correctly:</p>
    <ul>
    <li>For access methods that require creation of server sockets, the
        appropriate ports must be configured and available.</li>
    </ul>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Container Dependencies"><!--()--></a><a name="Container_Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>

    <p>Correct operation of administrative applications depends on the
       following specific features of the surrounding container:</p>
    <ul>
    <li>To the maximum extent feasible, Catalina components that offer
        direct administrative APIs and property setters shall support
        "live" changes to their operation, without requiring a container
        restart.</li>
    </ul>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="External Technologies"><!--()--></a><a name="External_Technologies"><strong>External Technologies</strong></a></font></td></tr><tr><td><blockquote>

    <p>The availability of the following technologies can be assumed
    for the implementation and operation of the various access methods
    and the corresponding administrative business logic:<br>
    <strong>FIXME</strong> - This list below is totally outdated, but nobody
    cares about the administrative app anymore. It is removed and unsupported
    since Tomcat 6.0.</p>
    <ul>
    <li><a href="http://java.sun.com/j2se/">Java 2 Standard Edition</a>
        (Version 1.2 or later)</li>
    <li><a href="http://www.jcp.org/jsr/detail/154.jsp">Servlet 2.4</a>
        (supported natively by Tomcat 5)</li>
    <li><a href="http://www.jcp.org/jsr/detail/152.jsp">JavaServer Pages 2.0</a>
        (supported natively by Tomcat 5)</li>
    <li><a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">JavaServer Pages Standard Tag Library 1.0 (Jakarta Taglibs-Standard 1.0.3)</a></li>
    <li><a href="http://struts.apache.org/">Struts Framework</a>
        (Version 1.0) - MVC Framework for Web Applications</li>
    <li><strong>TO BE DETERMINED</strong> - Application for hosting SOAP
        based web services</li>
    </ul>

  </blockquote></td></tr></table>


</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Properties of Administered Objects"><!--()--></a><a name="Properties_of_Administered_Objects"><strong>Properties of Administered Objects</strong></a></font></td></tr><tr><td><blockquote>

  <p>Functional requirements for administrative applications are specified
  in terms of <em>Administered Objects</em>, whose definitions and detailed
  properties are listed <a href="fs-admin-objects.html">here</a>.  In general,
  Administered Objects correspond to components in the Catalina architecture,
  but these objects are defined separately here for the following reasons:</p>
  <ul>
  <li>It is possible that the administrative applications do not expose
      every possible configurable facet of the underlying components.</li>
  <li>In some cases, an Administered Object (from the perspective of an
      administrative operation) is realized by more than one Catalina
      component, at a finer-grained level of detail.</li>
  <li>It is necessary to represent the configuration information for a
      component separately from the component itself (for instance, in
      order to store that configuration information for later use).</li>
  <li>It is necessary to represent configuration information (such as
      a Default Context) when there is no corresponding component instance.
      </li>
  <li>Administered Objects, when realized as Java classes, will include
      methods for administrative operations that have no correspondence
      to operations performed by the corresponding actual components.</li>
  </ul>

  <p>It is assumed that the reader is familiar with the overall component
  architecture of Catalina.  For further information, see the corresponding
  Developer Documentation.  To distinguish names that are used as both
  <em>Administered Objects</em> and <code>Components</code>, different
  font presentations are utilized.  Default values for many properties
  are listed in [square brackets].</p>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Supported Administrative Operations"><!--()--></a><a name="Supported_Administrative_Operations"><strong>Supported Administrative Operations</strong></a></font></td></tr><tr><td><blockquote>

  <p>The administrative operations that are available are described in terms
  of the corresponding Administered Objects (as defined above), in a manner
  that is independent of the access method by which these operations are
  requested.  In general, such operations are relevant only in the context
  of a particular Administered Object (and will most likely be realized as
  method calls on the corresponding Administered Object classes), so they
  are organized based on the currently "focused" administered object.
  The available Supported Operations are documented
  <a href="fs-admin-opers.html">here</a>.</p>

  </blockquote></td></tr></table>


  <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Access Method Specific Requirements"><!--()--></a><a name="Access_Method_Specific_Requirements"><strong>Access Method Specific Requirements</strong></a></font></td></tr><tr><td><blockquote>

  <h5>Scriptable Web Application</h5>

  <p>An appropriate subset of the administrative operations described above
  shall be implemented as commands that can be performed by the "Manager"
  web application.  <strong>FIXME</strong> - Enumerate them.</p>

  <p>In addition, this web application shall conform to the following
  requirements:</p>
  <ul>
  <li>All request URIs shall be protected by security constraints that
      require a security role to be assigned for processing.</li>
  <li>The default user database shall <strong>not</strong> contain any
      user that has been assigned a security role.</li>
  </ul>

  <h5>HTML-Based Web Application</h5>

  <p>The entire suite of administrative operations described above shall be
  made available through a web application designed for human interaction.
  In addition, this web application shall conform to the following
  requirements:</p>
  <ul>
  <li>Must be implemented using servlet, JSP, and MVC framework technologies
      described under "External Technologies", above.</li>
  <li>Prompts and error messages must be internationalizable to multiple
      languages.</li>
  <li>Rendered HTML must be compatible with Netscape Navigator (version 4.7
      or later) and Internet Explorer (version 5.0 or later).</li>
  </ul>

  </blockquote></td></tr></table>


</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Testable Assertions"><!--()--></a><a name="Testable_Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>

  <p><strong>FIXME</strong> - Complete this section.</p>

</blockquote></td></tr></table></td></tr><tr class="noPrint"><td width="20%" valign="top" nowrap class="noPrint"></td><td width="80%" valign="top" align="left"><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="comments_section" id="comments_section"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions
              on improving documentation for Apache Tomcat.<br><br>
              If you have trouble and need help, read
              <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
              and ask your question on the tomcat-users
              <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
              Do not ask such questions here. This is not a Q&amp;A section.<br><br>
              The Apache Comments System is explained <a href="../comments.html">here</a>.
              Comments may be removed by our moderators if they are either
              implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--
              var comments_shortname = 'tomcat';
              var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/funcspecs/fs-admin-apps.html';
              (function(w, d) {
                  if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
                      d.write('<div id="comments_thread"><\/div>');
                      var s = d.createElement('script');
                      s.type = 'text/javascript';
                      s.async = true;
                      s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
                      (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
                  }
                  else {
                      d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');
                  }
              })(window, document);
              //--><!]]></script></blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
        Copyright &copy; 1999-2014, Apache Software Foundation
        </em></font></div></td></tr></table></body></html>