Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

Password Protect Web Files


You can do this either on a per directory basis in /etc/apache/httpd.conf or through the use of a .htaccess file in the directory containing the files to protect. The following is either added to a <Directory> directive in /etc/apache/httpd.conf or into .htaccess in the relevant directory.



  AuthUserFile /home/kayon/public_html/.htpasswd
  AuthGroupFile /dev/null
  AuthName ByPassword
  AuthType Basic
  Require user kayon

Then create the password file:



  $ cd public_html
  $ htpasswd -c .htpasswd kayon

You will be prompted for a password. This stores the encrypted password in the file .htpasswd (the -c option says to create the file). You can manually edit this file, keeping the same format, and perhaps even cutting the user passwords from /etc/shadow to maintain the same passwords.

Note that you should take precautions to protect the actual encrypted passwords if you copy them from the shadow file (otherwise they may be subject to attempts to crack them). For example:



  # chown www-data.www-data .htpasswd
  # chmod o= .htpasswd

I would like to figure out a way to use the system passwords file without making /etc/shadow accessible to everyone (which is precisely the point of the shadow file) and without having to copy the encrypted passwords into .htpasswd. Then I would define the particular user group (AuthGroupFile) as the users who can actually access the relevent web pages.

Protecting a cgi-bin directory through the use of the .htaccess file make sure you have in /etc/apache-ssl/httpd.conf:



AllowOverride AuthConfig

Normally this is set to None. That is, in /etc/apache-ssl/httpd.conf you should have something like:



  <Directory "/home/kayon/projects/wwp/cgi-bin">
        Options None
        AllowOverride AuthConfig
        Order deny,allow
        Deny from all
        Allow from togaware.com
  </Directory>

Copyright © 1995-2006 Graham.Williams@togaware.com

 
 
  Published under the terms fo the GNU General Public License Design by Interspire