<?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>htpasswd - Manage user files for basic authentication - 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/programs/htpasswd.html" rel="canonical" /></head>
<body id="manual-page"><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="./">Programs</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/programs/htpasswd.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>htpasswd - Manage user files for basic authentication</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/programs/htpasswd.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/htpasswd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htpasswd.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>

    <p><code>htpasswd</code> is used to create and update the flat-files used to
    store usernames and password for basic authentication of HTTP users. If
    <code>htpasswd</code> cannot access a file, such as not being able to write
    to the output file or not being able to read the file in order to update it,
    it returns an error status and makes no changes.</p>

    <p>Resources available from the Apache HTTP server can be restricted to
    just the users listed in the files created by <code>htpasswd</code>. This
    program can only manage usernames and passwords stored in a flat-file. It
    can encrypt and display password information for use in other types of data
    stores, though. To use a DBM database see <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>.</p>

    <p><code>htpasswd</code> encrypts passwords using either a version of MD5
    modified for Apache, or the system's <code>crypt()</code> routine. Files
    managed by <code>htpasswd</code> may contain both types of passwords; some
    user records may have MD5-encrypted passwords while others in the same file
    may have passwords encrypted with <code>crypt()</code>.</p>

    <p>This manual page only lists the command line arguments. For details of
    the directives necessary to configure user authentication in
    <code class="program"><a href="../programs/httpd.html">httpd</a></code> see the Apache manual, which is part of the
    Apache distribution or can be found at <a href="http://httpd.apache.org">http://httpd.apache.org/</a>.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#exit">Exit Status</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Considerations</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#restrictions">Restrictions</a></li>
</ul><h3>See also</h3><ul class="seealso"><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li><li>The scripts in support/SHA1 which come with the
distribution.</li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="synopsis" id="synopsis">Synopsis</a></h2>
    <p><code><strong>htpasswd</strong>
    [ -<strong>c</strong> ]
    [ -<strong>m</strong> ]
    [ -<strong>D</strong> ] <var>passwdfile</var> <var>username</var></code></p>

    <p><code><strong>htpasswd</strong> -<strong>b</strong>
    [ -<strong>c</strong> ]
    [ -<strong>m</strong> |
      -<strong>d</strong> |
      -<strong>p</strong> |
      -<strong>s</strong> ] 
    [ -<strong>D</strong> ]  <var>passwdfile</var> <var>username</var>
    <var>password</var></code></p>

    <p><code><strong>htpasswd</strong> -<strong>n</strong>
    [ -<strong>m</strong> |
      -<strong>d</strong> |
      -<strong>s</strong> |
      -<strong>p</strong> ] <var>username</var></code></p>

    <p><code><strong>htpasswd</strong> -<strong>nb</strong>
    [ -<strong>m</strong> |
      -<strong>d</strong> |
      -<strong>s</strong> |
      -<strong>p</strong> ] <var>username</var> <var>password</var></code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">Options</a></h2>
    <dl>
    <dt><code>-b</code></dt>
    <dd>Use batch mode; <em>i.e.</em>, get the password from the command line
    rather than prompting for it. This option should be used with extreme care,
    since <strong>the password is clearly visible</strong> on the command
    line.</dd>

    <dt><code>-c</code></dt>
    <dd>Create the <var>passwdfile</var>. If <var>passwdfile</var> already
    exists, it is rewritten and truncated. This option cannot be combined with
    the <code>-n</code> option.</dd>

    <dt><code>-n</code></dt>
    <dd>Display the results on standard output rather than updating a file.
    This is useful for generating password records acceptable to Apache for
    inclusion in non-text data stores. This option changes the syntax of the
    command line, since the <var>passwdfile</var> argument (usually the first
    one) is omitted. It cannot be combined with the <code>-c</code> option.</dd>

    <dt><code>-m</code></dt>
    <dd>Use MD5 encryption for passwords. On Windows, Netware and TPF, this is
    the default.</dd>

    <dt><code>-d</code></dt>
    <dd>Use <code>crypt()</code> encryption for passwords. The default on all
    platforms but Windows, Netware and TPF. Though possibly supported by
    <code>htpasswd</code> on all platforms, it is not supported by the
    <code class="program"><a href="../programs/httpd.html">httpd</a></code> server on Windows, Netware and TPF.</dd>

    <dt><code>-s</code></dt>
    <dd>Use SHA encryption for passwords. Facilitates migration from/to Netscape
    servers using the LDAP Directory Interchange Format (ldif).</dd>

    <dt><code>-p</code></dt>
    <dd>Use plaintext passwords. Though <code>htpasswd</code> will support
    creation on all platforms, the <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon will
    only accept plain text passwords on Windows, Netware and TPF.</dd>

    <dt><code>-D</code></dt>
    <dd>Delete user. If the username exists in the specified htpasswd file, it
    will be deleted.</dd>
    
    <dt><code><var>passwdfile</var></code></dt>
    <dd>Name of the file to contain the user name and password. If
    <code>-c</code> is given, this file is created if it does not already exist,
    or rewritten and truncated if it does exist.</dd>

    <dt><code><var>username</var></code></dt>
    <dd>The username to create or update in <var>passwdfile</var>. If
    <var>username</var> does not exist in this file, an entry is added. If it
    does exist, the password is changed.</dd>

    <dt><code><var>password</var></code></dt>
    <dd>The plaintext password to be encrypted and stored  in the file. Only
    used with the <code>-b</code> flag.</dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="exit" id="exit">Exit Status</a></h2>
    <p><code>htpasswd</code> returns a zero status ("true") if the username and
    password have been successfully added or updated in the
    <var>passwdfile</var>. <code>htpasswd</code> returns <code>1</code> if it
    encounters some problem accessing files, <code>2</code> if there was a
    syntax problem with the command line, <code>3</code> if the password was
    entered interactively and the verification entry didn't match,
    <code>4</code> if its operation was interrupted, <code>5</code> if a value
    is too long (username, filename, password, or final computed record),
    <code>6</code> if the username contains illegal characters (see the
    <a href="#restrictions">Restrictions section</a>), and <code>7</code>
    if the file is not a valid password file.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Examples</a></h2>
    <div class="example"><p><code>
      htpasswd /usr/local/etc/apache/.htpasswd-users jsmith
    </code></p></div>

    <p>Adds or modifies the password for user <code>jsmith</code>. The user
    is prompted for the password. If executed on a Windows system, the password
    will be encrypted using the  modified Apache MD5 algorithm; otherwise, the
    system's <code>crypt()</code> routine will be used. If the file does not
    exist, <code>htpasswd</code> will do nothing except return an error.</p>

    <div class="example"><p><code>
      htpasswd -c /home/doe/public_html/.htpasswd jane
    </code></p></div>

    <p>Creates a new file and stores a record in it for user <code>jane</code>.
    The user is prompted for the password. If the file exists and cannot be
    read, or cannot be written, it is not altered and <code>htpasswd</code>
    will display a message and return an error status.</p>

    <div class="example"><p><code>
      htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve
    </code></p></div>

    <p>Encrypts the password from the command line (<code>Pwd4Steve</code>)
    using the MD5 algorithm, and stores it in the specified file.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Security Considerations</a></h2>
    <p>Web password files such as those managed by <code>htpasswd</code> should
    <em>not</em> be within the Web server's URI space -- that is, they should
    not be fetchable with a browser.</p>

    <p>The use of the <code>-b</code> option is discouraged, since when it is
    used the unencrypted password appears on the command line.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="restrictions" id="restrictions">Restrictions</a></h2>
    <p>On the Windows and MPE platforms, passwords encrypted with
    <code>htpasswd</code> are limited to no more than <code>255</code>
    characters in length. Longer passwords will be truncated to 255
    characters.</p>

    <p>The MD5 algorithm used by <code>htpasswd</code> is specific to the Apache
    software; passwords encrypted using it will not be usable with other Web
    servers.</p>

    <p>Usernames are limited to <code>255</code> bytes and may not include the
    character <code>:</code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/programs/htpasswd.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/htpasswd.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/htpasswd.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&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>