一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux系统apache下htpasswd命令使用详解

时间:2016-06-17 编辑:简简单单 来源:一聚教程网

在Apache配置Basic认证之后,用htpasswd命令创建用户。

htpasswd建立和更新存储用户名、密码的文本文件, 用于对HTTP用户的basic认证。

# /usr/local/apache/bin/htpasswd --help

htpasswd参数

-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户

访问/var/www/html目录时会出现Basic认证的页面,需要输入用户名及密码。

 代码如下 复制代码


AuthUserFile  /etc/httpd/conf.d/.zabbix.cc
AuthGroupFile /dev/null
AuthName      "Please Input Your Account Name and Password"
AuthType      Basic
Require valid-user

初次创建的时候使用

 代码如下 复制代码

# htpasswd -c /etc/httpd/conf.d/.zabbix.cc

追加用户

# htpasswd /etc/httpd/conf.d/.zabbix.cc

密码的文字数,不要超过8个字。

因为默认是使用哈希函数CRYPT(默认选项-d),CRYPT会无视超过8个字的文字。

如要利用超过8个字以上的密码,使用-m选项(哈希函数MD5)。

使用-p选项的话,在写入文件时不会进行HASH。

下面进入正题,如何使用.htaccess和.htpasswd来给目录加上身份验证;

创建“.htpasswd”文件,格式为“用户名:密码”:【注:window下可能无法直接创建,可以用过文本创建并写入下面代码后,通过另存为”.htpasswd”,注意需要带双引号的。】
ccp330:123456


创建“.htaccess”文件,格式如下,相关指令可以自己网上去搜索了解:
AuthUserFile .htpasswd文件绝对路径

 代码如下 复制代码

AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any

例如:

AuthUserFile G:/php_work/.htpasswd
AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any

第三步是把创建的“.htpasswd”和“.htaccess”放到要保护的目录下,现在访问保护的目录下的文件即可看见如下效果:

其次还有两点说明:

第一点是“.htpasswd”文件可以放在随意位置,而“.htaccess”则必须放在要保护的目录并填写好.htpasswd的绝对路径,也就是说密码文件“.htpasswd”可以放在web目录之外;

第二点是“.htpasswd”文件里的密码是可以加密的,具体加密方法如下

热门栏目