使用密码保护Apache服务器上的目录
1. 建立密码文件
为用户rbowen建立一个密码文件(放在网络访问不到的位置,以/path表示存放路径):
利用htpasswd的工具建立密码文件:
htpasswd -c /path/passwords rbowen (-c为强制建立新密码文件)
# htpasswd -c /path/passwords rbowen
New password: mypassword
Re-type new password: mypassword
Adding password for user rbowen
2. 修改httpd.conf或.htaccess文件
以指示服务器允许哪些用户访问并向用户索取密码。 例如,要保护
/usr/local/apache/htdocs/secret 目录, 则可以将下列指令写入
/usr/local/apache/htdocs/secret/.htaccess, 或者httpd.conf的 <Directory
/usr/local/apache/apache/htdocs/secret> 段。
AllowOverride AuthConfig
AuthType Basic
AuthName “Restricted Files”
AuthBasicprovider file
AuthUserFile /path/passwords
Require user rbowen
指令说明:
AllowOverride指令: 指定哪些指令在针对单个目录的配置文件中有效,这里设置为AuthConfig。
AuthType指令:选择了对用户实施认证的方法, 这里使用的是由mod_auth提供的Basic。
AuthName指令:设置了使用认证的领域, 它起两个作用,首先,此领域说明会出现在显示给用户的密码提问对话框中, 其次,也帮助客户端程序确定应该输入哪个密码。
AuthUserFile指令:设置了密码文件, 也就是刚才我们已经用htpasswd建立的。Apache模块数据库中还提供了其他许多认证选项。
Require指令:设置了允许访问的用户
3. 允许多人访问
按如下格式建立组文件:
GroupName: jack rose sail john
每组一行,组成员之间用空格分隔
向已有密码文件增加用户:
htpasswd /path/password rose
修改.htaccess或httpd.conf文件:
AuthType Basic
AuthName “By Invitation Only”
AuthUserFile /path/passwords
AuthGroupFile /path/groups
Require group GroupName
参考:http://httpd.apache.org/docs/2.2/howto/auth.html