开源中文网

您的位置: 首页 > Linux应用 > Apache > 正文

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

来源: 网络整理  作者: 佚名

htpasswd是apache的一个权限命令了我们可以配置访问指定目录需要输入指定权限才可以进入访问了,下面我们来看htpasswd命令的用法。

 

在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认证的页面,需要输入用户名及密码。


<Directory /var/www/html>
AuthUserFile  /etc/httpd/conf.d/.zabbix.cc
AuthGroupFile /dev/null
AuthName      "Please Input Your Account Name and Password"
AuthType      Basic
Require valid-user
</Directory>
初次创建的时候使用

# htpasswd -c /etc/httpd/conf.d/.zabbix.cc <UserName>
追加用户
# htpasswd /etc/httpd/conf.d/.zabbix.cc <UserName>
密码的文字数,不要超过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”文件里的密码是可以加密的,具体加密方法如下

Tags:命令 系统
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明