您的位置:首页 > 运维架构 > Apache

使用apache htpasswd生成加密的password文件,并使用.htaccess控制文件夹訪问

2016-04-08 18:19 609 查看
htpasswd 是apache的小工具。在apache安装文件夹bin下可找到。

Usage:
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c  创建一个新的加密password文件
-n  不更新文件。显示结果
-m  使用MD5加密password
-d  使用CRYPT加密password(默认)
-p  不加密password
-s  使用SHA加密password
-b  直接在命令行输入password。而不是提示后再输入password
-D  删除用户
在Windows, NetWare与 TPF系统,'-m' 是默认的password加密方式。

在全部其它系统,'-p'可能不能使用。


1.生成加密password文件

htpasswd -c .pass fdipzone
New password:
Re-type new password:
Adding password for user fdipzone


这样就生成了一个使用CRYPT加密password的文件

下面命令能够生成用md5加密password的文件,b參数的作用是在命令行直接把password输入。这样就不须要等提示输入password再输入了。

htpasswd -cmb .pass fdipzone 123456
Adding password for user fdipzone


2.改动password

htpasswd .pass fdipzone
New password:
Re-type new password:
Updating password for user fdipzone


3.添加用户

htpasswd .pass guest
New password:
Re-type new password:
Adding password for user guest


4.删除用户

htpasswd -D .pass guest
Deleting password for user guest
假设使用p參数,不加密密码。系统会提示Warning。因此为了安全最好不要使用p參数。

htpasswd -cp .pass fdipzone
Warning: storing passwords as plain text might just not work on this platform.


.htaccess 调用加密password文件控制訪问权限

首先 Allowoverride 须要设置为 AuthConfig 或 All

然后在须要控制訪问的文件夹下添加.htaccess

.htaccess内容例如以下

AuthType "Basic"
AuthName "Password Required" #提示文字
AuthUserFile "/home/fdipzone/sites/pass/.pass" #加密password的文件
Require valid-user

当訪问该文件夹下的文件时,则会弹出要求输入username和password的输入框。输入正确的username和password后就能正常訪问。



tips:为了安全,加密的password文件请不要放在线上用户能够訪问的路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: