apache2认证配置再次冲击Ubuntu之server篇

  有天突然发现配置的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>

  其中第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

   二、保存在数据库中,生成方法在第3步 

1 AuthName "db auth" 
2 AuthDBUserFile /opt/apache2/conf/dbuser.dat 
3 Require username1

 3、创建密码文件,生成认证信息。对应上面有两种方法:

  一、用户、组文件方式,

  1、生成用户文件,会有提示输入密码。

1 /opt/apache2/bin/htpasswd -/opt/apache2/conf/password username1
2 /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/p/1928981.html