apache认证
时间:2009-03-23 来源:sjhf
apache认证 有时候某些目录下的文件需要增加认证,Apache缺省的认证模块都是很完备的,以下就是一个通过.htaccess文件增加用户认证的例子。即使对于虚拟主机用户也可以通过上传一些文件来实现认证控制。 <VirtualHost *:52147> ServerAdmin [email protected] DocumentRoot /data/mrtgwww/ ServerName mrtg.xxc.com.cn # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common <Directory /data/mrtgwww/> Options Indexes FollowSymLinks AllowOverride AuthConfig Order allow,deny Allow from all </Directory> </VirtualHost> 首先用htpasswd创建一个密码文件:比如文件名叫做my.passwd /home/apache/bin/htpasswd -c -b my.passwd myusername mypassword 如果增加帐号: /home/apache/bin/htpasswd -b my.passwd anotherusername anotherpassword 将my.passwd上传到一个非发布路径下。 比如你的物理WEB根目录的上一级 /home/apache/conf/my.passwd 创建 .htaccess AuthName "My Authorization Directory" AuthType Basic AuthUserFile /home/apache/conf/my.passwd Require valid-user 将这个文件上传到你需要进行用户认证的目录: /home/apache/htdocs/admin/.htaccess 这样这个目录的访问就需要认证了。 -c 创建密码文件 [root@HOTRM-NJ1 bin]# ./htpasswd --help Usage: htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd -nb[mdps] username password -c Create a new file. -n Don't update file; display results on stdout. -m Force MD5 encryption of the password. -d Force CRYPT encryption of the password (default). -p Do not encrypt the password (plaintext). -s Force SHA encryption of the password. -b Use the password from the command line rather than prompting for it. -D Delete the specified user. vi httpd.conf Alias /ganglia "/Data/webapps/monitor./ganglia" <Directory "/Data/webapps/monitor./ganglia"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Ganglia Access" AuthType Basic AuthUserFile /Data/apps/httpd-2.2.8/conf/my.passwd #AuthUserFile /Data/apps/nagios/etc/htpasswd.users Require valid-user </Directory> |
相关阅读 更多 +
排行榜 更多 +