有时候,访问网站时会看到浏览器弹出一个输入框,提示输入用户名和密码才能访问。
出现这种情况是由于apache服务器对某些特定的目录设置了访问权限。
下面就来实现该功能。
在apache根目录下创建一个文件夹用作测试,代码如下所示
1 mkdir /var/www/html/userdir 2 mkdir /var/www/html/userdir/video /var/www/html/userdir/picture /var/www/html/userdir/data 3 mkdir /var/www/html/userdir/music /var/www/html/userdir/other
浏览器访问测试,效果如下图所示
接下来为该目录添加用户访问权限
编辑httpd服务器配置文件
1 vim /etc/httpd/conf/httpd.conf 2 #添加如下所示代码 3 <Directory "/var/www/html/userdir"> 4 Options Indexes 5 AuthName "Restricted Files" 6 AuthType Basic //认证方式由auth_mod提供的basic方式 7 AuthUserFile "/var/www/.htpass" //基于文件的认证方式以及文件名称 8 require valid-user 9 </Directory>
详细选项说明参考:http://man.chinaunix.net/newsoft/ApacheManual/howto/auth.html
配置好后,文件内容如图所示
使用htpasswd命令添加用户并生成.htpass文件,命令如下所示
1 htpasswd -c /var/www/.htpass vampire //vampire为访问用户名
执行后会看到目录/var/www中生成了.htpass文件
重启apache服务器
service httpd restart
打开浏览器访问测试如图所示