6.7. Managing .htpasswd Files
Problem
You wish to create password files for use with Basic HTTP authentication.
Solution
Use the htpasswd utility to create your password file, as in Table 6-1.
Table 6-1. Managing password files with htpasswd
Command | Action |
|---|---|
% | Create a new password file called user.pass with this one new entry for user waldo. Will prompt for password. |
% | Add an entry for user ralph in password file user.pass. Will prompt for password. |
% | Add a user ralph to password file user.pass with password mydogspot. |
Or, use the Perl module Apache::Htpasswd to manage the file programmatically:
use Apache::Htpasswd;
$pass = new Apache::Htpasswd("/usr/local/apache/passwords/user.pass") or
die "Couldn't open password file.";
# Add an entry
$pass->htpasswd("waldo", "emerson");
# Delete entry
$pass->htDelete("waldo");Discussion
The htpasswd utility, which comes with Apache, is located in the bin subdirectory.
Tip
On some third-party distributions of Apache, the htpasswd program has been copied into a directory in your path, but ordinarily it will not be in your path; you will either have to put it there, or provide the full path to the program in order to run it, such as /usr/local/apache/bin/htpasswd.
The first line of the Solution creates a new password file at the specified location. That is, in the example given, it creates a new password file called user.pass, containing a username and password for a user ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access