在生产环境中,各种各样的网站目录限制场景非常之多,这时就可能需要用到Apache htpasswd
工具来实现,下面我将一一讲解如何使用。
先使用Apache htpasswd
命令创建一个密码文件,htpasswd
的命令用法如下:
-c # 创建密码文件,若该文件已存在,它会重写并删除原有内容; -n # 不更新密码文件,直接显示密码; -m # 使用MD5加密(默认); -d # 使用CRYPT加密(默认); -p # 使用普通文本格式的密码; -s # 使用SHA加密; -b # 命令行中一并输入用户和密码,而交互性,生成时可见密码明文; -D # 删除指定的用户;
创建添加一个用户名为:renwole 密码为:renwole 的密码文件:
$ htpasswd -c .accpasswd renwole New password: Re-type new password: Adding password for user renwole
注意:创建的密码 .accpasswd
文件名可自定义。
使用cat查看生成的内容:
$ cat .accpasswd renwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0
注意:生成的密码是已经加密过的,所以别弄混掉了。
添加多个账号:
$ htpasswd -b .accpasswd renwolecom password-renwolecom Adding password for user renwolecom
查看生成的多个账号和密码:
$ cat .accpasswd renwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0 renwolecom:$apr1$3zzGmKtR$jKKCbU2nVEQZFz9mtEXE./
删除用户:
$ htpasswd -D .accpasswd renwolecom Deleting password for user renwolecom
查看删除后的密码文件:
$ cat .accpasswd renwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0
创建密码保护区域
有了密码文件之后,我们可以使用.htaccess
文件创建保护区域。
将以下内容保存为 .htaccess
文件,这样我们就可以使用该文件建立保护区域。
$ vim /apps/web/renwolecom/phpMyadmin/.htaccess AuthType Basic AuthName "restricted area" AuthUserFile /usr/local/apache/conf/.accpasswd require valid-user
将该文件放在需要保护的目录下即可。因此我放在了网站根目录的phpMyadmin
目录,这样访问此目录,就会出现弹窗验证,输入生成的用户名和密码即可。