有天突然发现配置的http服务器在公网上有不少不明身份的人在用,于是琢磨着配置一个认证,按照《[配置 验证] 实战apache用户验证》配置成功。主要分3步:
1、修改httpd.conf文件的Directory小节内容
1 <Directory "/data/movies/">
2 IndexOptions Charset=GB2312
3 Options Indexes FollowSymLinks
4 AllowOverride AuthConfig
5 Order allow,deny
6 Allow from all
7 </Directory>
2 IndexOptions Charset=GB2312
3 Options Indexes FollowSymLinks
4 AllowOverride AuthConfig
5 Order allow,deny
6 Allow from all
7 </Directory>
其中第4行AllowOverride项要设置成AuthConfig,表示允许.htaccess文档中的认证指令,当然,可以设置为all,将执行.htaccess中所有的配置;none则忽略.htaccess文档。
此处与上文中不太一样。
2、在需要认证的目录下创建.htaccess文件,有两种保存认证信息的方式:
一、保存在文本数据中,需要用户、组文件,文件生成方法在第3步中
1 AuthName "password file auth"
2 AuthUserFile /opt/apache2/conf/password
3 AuthGroupFile /opt/apache2/conf/group
4 Require group ftp
2 AuthUserFile /opt/apache2/conf/password
3 AuthGroupFile /opt/apache2/conf/group
4 Require group ftp
二、保存在数据库中,生成方法在第3步
1 AuthName "db auth"
2 AuthDBUserFile /opt/apache2/conf/dbuser.dat
3 Require username1
2 AuthDBUserFile /opt/apache2/conf/dbuser.dat
3 Require username1
3、创建密码文件,生成认证信息。对应上面有两种方法:
一、用户、组文件方式,
1、生成用户文件,会有提示输入密码。
1 /opt/apache2/bin/htpasswd -c /opt/apache2/conf/password username12 /opt/apache2/bin/htpasswd /opt/apache2/conf/password username2
2、组文件,新建/opt/apache2/conf/group文件,内容如下:
1 ftp:username1 username2
二、数据库方式
1 /opt/apache2/bin/dbmmanage /opt/apache2/conf/dbuser.dat adduser username1
至此,基本配置结束,可以使用了。需要提示的是组文件可以设置多个组,然后在需要不同认证的目录下的.htaccess文件中指定不同的组即可控制不同人访问不同目录。
来源:https://www.cnblogs.com/badwood316/archive/2011/01/06/1928981.html