有些时候我们只想让自己去访问网站的某一个文件或者目录,不让其他用户有权限去访问,那么就需要在服务器上去配置一下。


假设网站的根目录是/data/www, 新建了一个子目录为/data/www/abc目录,对于在这个abc目录下的文件除了我们自己,一概不让其他人去访问,怎么配置呢? 


1. 编辑apache的虚拟主机配置文件,记住不是httpd的主配置文件,进入编辑模式

    vim /usr/local/apache/conf/extra/httpd-vhosts.conf

    

2.  添加一些字段

<VirtualHost *:80>

    DocumentRoot "/data/www"

    ServerName www.test.com

    ServerAlias www.aaa.com

    #ErrorLog "logs/dummy-host.example.com-error_log"

    #CustomLog "logs/dummy-host.example.com-access_log" common

    <Directory /data/www/abc/>

        AllowOverride AuthConfig

        AuthName "aaaaaaa"

        AuthType Basic

        AuthUserFile /data/.htpasswd

        require valid-user

    </Directory>

</VirtualHost>


3.  在目录/data/下创建用户名和密码的文件

    htpasswd -c /data/.htpasswd user1

    输入密码 ******  再次确认密码 ******

    完成后cat一下这个密码文件 cat /data/.htpasswd

    显示的是新创建的用户名和加密密码 user1:$apr1$Gg19M4Ur$rt3JQ7XdkD9wgDlGz9WtI/


4.  配置完成后千万不能忘记重新加载apache的配置文件

    /usr/local/apache/bin/apachectl graceful

5.  在浏览器里访问www.test.com/abc/的文件将弹出提示框,提示我们输入用户名和密码才能访问