mirror of
https://github.com/apache/httpd.git
synced 2025-10-24 10:53:08 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96735 13f79535-47bb-0310-9956-ffa450edef68
142 lines
12 KiB
XML
142 lines
12 KiB
XML
<?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><!--
|
||
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" /></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="<-" alt="<-" src="../images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">Modules</a></div><div id="page-content"><div id="preamble"><h1>Apache Module mod_auth</h1><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 Identifier:
|
||
</a></th><td>auth_module</td></tr><tr><th><a href="module-dict.html#SourceFile">Source File:
|
||
</a></th><td>mod_auth.c</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>AuthAuthoritative on|off</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>
|
||
<div class="note">This information has not been updated for Apache 2.0, which
|
||
uses a different system for module ordering.</div>
|
||
|
||
<p>Setting the <code class="directive">AuthAuthoritative</code> directive
|
||
explicitly to <strong>'off'</strong> allows for both
|
||
authentication and authorization to be passed on to lower level
|
||
modules (as defined in the <code>Configuration</code> and
|
||
<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 Authorization 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 AuthAuthoritative 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 Authorization Required reply. Not setting
|
||
it thus keeps the system secure; and forces an NCSA compliant
|
||
behaviour.</p>
|
||
|
||
<div class="note"><h3>Security</h3> 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>.
|
||
</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>AuthGroupFile <em>file-path</em></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. <em>File-path</em> is the path to the group
|
||
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 group file contains a groupname followed by a
|
||
colon, followed by the member usernames separated by spaces.
|
||
Example:</p>
|
||
|
||
<div class="example"><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> should be used
|
||
instead.</p>
|
||
|
||
<div class="note"><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 will
|
||
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>AuthUserFile <em>file-path</em></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. <em>File-path</em> 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 <code>crypt()</code> encrypted
|
||
password. The behavior of multiple occurrences of the same user is
|
||
undefined.</p>
|
||
|
||
<p>The utility <a href="../programs/htpasswd.html">htpasswd</a>
|
||
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 <code>man</code> page for more
|
||
details. In short:</p>
|
||
|
||
<p>Create a password file 'Filename' with 'username' 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 'username2' in the password file 'Filename':</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="note"><h3>Security</h3>
|
||
<p>Make sure that the <code class="directive">AuthUserFile</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 will
|
||
be able to download the <code class="directive">AuthUserFile</code>.</p>
|
||
</div>
|
||
</div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</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> |