分页: 1 / 1

OpenBSD自带的apache 1.3里为文件夹设置口令

发表于 : 2011-10-03 14:02
leo
先用htpasswd设置好密码文件,只能第一次使用 -c 选项,否则以前加的会被覆盖。
这里假设:
给两个用户授权——"leo"、"1.."
密码文件是/var/www/conf/gobsd.com.passwd

代码: 全选

# htpasswd -c www.gobsd.org.passwd leo
New password:123456
Re-type new password:123456
Adding password for user leo
# htpasswd [url=http://www.gobsd.com.passwd]www.gobsd.com.passwd[/URL] 1..
New password:123456
Re-type new password:123456
Adding password for user 1..

这里仅用的是基本加密,你还可以分别使用 -d -l -m 选项以采用基于DES、bluefish和apache的MD5模块来加密口令。


接下来,为了安全起见,我们对这个密钥文件进行权限设置:

代码: 全选

# chown root.www gobsd.org.passwd
# chmod 640 gobsd.org.passwd
上面命令的意思是web server只能读取这个密钥文件,只有root用户可以对其进行写入操作。

看看密钥文件

代码: 全选

# cat gobsd.org.passwd
leo:$2a$06$36/pmDXAHMxCYIyV0SORVuKB1dFWBFAACFNCihVNBYup/hHQY6s9q
1..:$2a$06$jr3G/achkSa.t2DxvUyZ6OYJyO3QJyWLK6Yd81ocPLmJDjR9Luxdu


最后是让apche执行这一指令,仅需在/var/www/conf/httpd.conf里添加如下的指令

代码: 全选

<Directory "/var/www/htdocs/gobsd.org">
  AuthType Basic
  AuthName JR
  AuthUserFile /conf/gobsd.com.passwd
  Require user leo 1..
</Directory>

这只是简单的应用,当然你也可以写到.htaccess文件里,并将其置入特定的文件夹下,这样可以针对不同的文件夹做不同的处理,不过外面似乎针对.htaccess的讲述很多,所以我们这里就给一个全局的方法,也就是直接修改httpd.conf。此外,这里还可以通过限制IP地址/范围、域名等方式来控制访问的客户端,例如对特定的网域开放访问权限。