<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_auth - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_auth.html" rel="canonical" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.0</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div class="retired"><h4>Please note</h4>
            <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
        <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_auth.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache Module mod_auth</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>User authentication using text files</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module&#160;Identifier:</a></th><td>auth_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source&#160;File:</a></th><td>mod_auth.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available only in versions prior to 2.1</td></tr></table>
<h3>Summary</h3>

    <p>This module allows the use of HTTP Basic Authentication to
    restrict access by looking up users in plain text password and
    group files. Similar functionality and greater scalability is
    provided by <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code>. HTTP Digest
    Authentication is provided by <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authauthoritative">AuthAuthoritative</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li>
</ul>
<h3>See also</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li>
<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li>
<li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li>
</ul></div>

<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthAuthoritative" id="AuthAuthoritative">AuthAuthoritative</a> <a name="authauthoritative" id="authauthoritative">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets whether authorization and authentication are
passed to lower level modules</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthAuthoritative On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AuthAuthoritative On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth</td></tr>
</table>
    <p>Setting the <code class="directive">AuthAuthoritative</code> directive
    explicitly to <code>Off</code> allows for both authentication and
    authorization to be passed on to lower level modules (as defined in the
    <code>modules.c</code> files) if there is <strong>no userID</strong>
    or <strong>rule</strong> matching the supplied userID. If there is a
    userID and/or rule specified; the usual password and access checks
    will be applied and a failure will give an "Authentication Required"
    reply.</p>

    <p>So if a userID appears in the database of more than one module;
    or if a valid <code class="directive"><a href="../mod/core.html#require">Require</a></code>
    directive applies to more than one module; then the first module
    will verify the credentials; and no access is passed on;
    regardless of the <code class="directive">AuthAuthoritative</code> setting.</p>

    <p>A common use for this is in conjunction with one of the
    database modules; such as <code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code>,
    <code>mod_auth_msql</code>, and <code class="module"><a href="../mod/mod_auth_anon.html">mod_auth_anon</a></code>.
    These modules supply the bulk of the user credential checking; but
    a few (administrator) related accesses fall through to a lower
    level with a well protected <code class="directive"><a href="#authuserfile">AuthUserFile</a></code>.</p>

    <p>By default control is not passed on and an unknown userID or
    rule will result in an "Authentication Required" reply. Not setting
    it thus keeps the system secure and forces an NCSA compliant
    behaviour.</p>

    <div class="warning"><h3>Security</h3>
      <p>Do consider the implications of allowing a user to allow
      fall-through in his .htaccess file; and verify that this is really
      what you want; Generally it is easier to just secure a single
      .htpasswd file, than it is to secure a database such as mSQL.
      Make sure that the <code class="directive"><a href="#authuserfile">AuthUserFile</a></code> and the <code class="directive"><a href="#authgroupfile">AuthGroupFile</a></code> are stored outside the document tree of
      the web-server; do <em>not</em> put them in the directory that they
      protect. Otherwise, clients will be able to download the <code class="directive"><a href="#authuserfile">AuthUserFile</a></code> and the <code class="directive"><a href="#authgroupfile">AuthGroupFile</a></code>.</p>
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a> <a name="authgroupfile" id="authgroupfile">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of a text file containing the list
of user groups for authentication</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthGroupFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth</td></tr>
</table>
    <p>The <code class="directive">AuthGroupFile</code> directive sets the
    name of a textual file containing the list of user groups for user
    authentication. <var>File-path</var> is the path to the group
    file. If it is not absolute, it is treated as relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>

    <p>Each line of the group file contains a groupname followed by a
    colon, followed by the member usernames separated by spaces.</p>

    <div class="example"><h3>Example:</h3><p><code>
      mygroup: bob joe anne
    </code></p></div> 

    <p>Note that searching large text files is <em>very</em>
    inefficient; <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> provides a much better performance.</p>

    <div class="warning"><h3>Security</h3>
      <p>Make sure that the <code class="directive">AuthGroupFile</code> is
      stored outside the document tree of the web-server; do <em>not</em>
      put it in the directory that it protects. Otherwise, clients may
      be able to download the <code class="directive">AuthGroupFile</code>.</p>
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a> <a name="authuserfile" id="authuserfile">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the name of a text file containing the list of users and
passwords for authentication</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthUserFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth</td></tr>
</table>
    <p>The <code class="directive">AuthUserFile</code> directive sets the name
    of a textual file containing the list of users and passwords for
    user authentication. <var>File-path</var> is the path to the user
    file. If it is not absolute (<em>i.e.</em>, if it doesn't begin
    with a slash), it is treated as relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>

    <p>Each line of the user file contains a username followed by
    a colon, followed by the encrypted password. If the same user
    ID is defined multiple times, <code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code> will
    use the first occurrence to verify the password.</p>

    <p>The utility <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>
    which is installed as part of the binary distribution, or which
    can be found in <code>src/support</code>, is used to maintain
    this password file. See the <a href="../programs/htpasswd.html">man
    page</a> for more details. In short:</p>

    <p>Create a password file <code>Filename</code> with
    <code>username</code> as the initial ID. It will prompt for the
    password:</p>

    <div class="example"><p><code>
      htpasswd -c Filename username
    </code></p></div>

    <p>Add or modify <code>username2</code> in the password file
    <code>Filename</code>:</p>

    <div class="example"><p><code>
      htpasswd Filename username2
    </code></p></div>

    <p>Note that searching large text files is <em>very</em>
    inefficient; <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> should be used
    instead.</p>

    <div class="warning"><h3>Security</h3>
      <p>Make sure that the <code class="directive">AuthUserFile</code> is
      stored outside the document tree of the web-server. Do
      <strong>not</strong> put it in the directory that it protects.
      Otherwise, clients may be able to download the
      <code class="directive">AuthUserFile</code>.</p>
    </div>

</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_auth.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html>