apache: 配置 - htpasswd



0. 命令介绍

命令:htpasswd
简介:apache安装后自带的命令,用来管理认证文件
语法:

参数:

用法示例:

# 创建密码文件,并增加用户admin及设置密码
htpasswd -c /usr/local/apache2/password/.htpasswd admin

# 查看密码文件,默认密码用MD5加密
cat /usr/local/apache2/password/.htpasswd
admin:$apr1$ngsrvu8T$T3/vvtZ8.opDDcf1j52/3.

# 增加test1用户
htpasswd /usr/local/apache2/password/.htpasswd test1
cat /usr/local/apache2/password/.htpasswd
admin:$apr1$ngsrvu8T$T3/vvtZ8.opDDcf1j52/3.
test1:$apr1$TEllHY/c$o9HEch5uyK52G7.uuVarE.

1. 访问特定目录时使用htpasswd增加用户认证

配置目录访问限制

<Directory /usr/local/apache2/htdocs/admin>
    AllowOverride AuthConfig
    AuthName "admin auth"
    AuthType Basic
    AuthUserFile /usr/local/apache2/password/.htpasswd
    Require valid-user
</Directory>

配置解释

AllowOverride AuthConfig
# 可选
# - None
# - AuthConfig

# 选择AuthConfig之后,可使用如下这些配置
# (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc.).

AuthName "admin auth" # 访问限制时的提示字符串

AuthType Basic
# 可选
# - none,
# - basic(采用mod_auth_basic模块)
# - Digest(采用mod_auth_digest模块)
# - Form (采用 mod_auth_form模块)

AuthUserFile /usr/local/apache2/password/.htpasswd # 指定密码文件
require - valid-user # 只有有效用户才可以访问

参考文档:apache howto htaccess