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 创建一个新的加密密码文件 -n 不更新文件,显示结果 -m 使用MD5加密密码 -d 使用CRYPT加密密码(默认) -p 不加密密码 -s 使用SHA加密密码 -b 直接在命令行输入密码,而不是提示后再输入密码 -D 删除用户在Windows, NetWare与 TPF系统,'-m' 是默认的密码加密方式。在所有其他系统,'-p'可能不能使用。1.生成加密密码文件
htpasswd -c .pass fdipzoneNew password: Re-type new password: Adding password for user fdipzone这样就生成了一个使用CRYPT加密密码的文件
以下命令可以生成用md5加密密码的文件,b参数的作用是在命令行直接把密码输入,这样就不需要等提示输入密码再输入了。htpasswd -cmb .pass fdipzone 123456
Adding password for user fdipzone2.修改密码
htpasswd .pass fdipzoneNew password: Re-type new password: Updating password for user fdipzone3.增加用户
htpasswd .pass guestNew password: Re-type new password: Adding password for user guest4.删除用户
htpasswd -D .pass guest
Deleting password for user guest如果使用p参数,不加密密码,系统会提示Warning,因此为了安全最好不要使用p参数。htpasswd -cp .pass fdipzoneWarning: storing passwords as plain text might just not work on this platform..htaccess 调用加密密码文件控制访问权限
首先 Allowoverride 需要设置为 AuthConfig 或 All然后在需要控制访问的目录下增加.htaccess
.htaccess内容如下
AuthType "Basic"
AuthName "Password Required" #提示文字AuthUserFile "/home/fdipzone/sites/pass/.pass" #加密密码的文件Require valid-user当访问该目录下的文件时,则会弹出要求输入用户名和密码的输入框。输入正确的用户名和密码后就能正常访问。
tips:为了安全,加密的密码文件请不要放在线上用户可以访问的路径。