木一 发表于 2017-1-2 11:25:16

Apache(七)使用auth_dbm

  一、AuthDBMUserFile
  <AuthnProviderAlias file ufile>
  AuthUserFile /root/apache2/auth/userfile
  </AuthnProviderAlias>
  

  <Directory /root/apache2/htdoc>
  AllowOverride None
  AuthType Basic
  AuthName "Entry username and password"
  AuthBasicProvider ufile
       Require valid-user
  </Directory>
  

  假如有成百上千个用户在userfile文件中,那么使用这种方式效率极低,应使用
  AuthDBMUserFile,使用步骤如下
  

  1.1 使用htdbm生成dbm文件
  ./htdbm -bc /root/apache2/auth/userdbm dbm1 dbm1
  

  上述命令将生成userdbm.dir和userdbm.pag文件,并创建用户dbm1,密码dbm1
  

  1.2 配置AuthDBMUserFile
  
  <Directory /root/apache2/htdoc>
  AllowOverride None
  AuthType Basic
  AuthName "Entry username and password"
  AuthBasicProvider dbm
  AuthDBMUserFile /root/apache2/auth/userdbm
  </Directory>
  

  按照上述配置后,访问资源需提供userdbm中存在的用户。
  二、AuthDBMGroupFile
  

  <Directory /root/apache2/htdoc>
  AllowOverride None
  AuthType Basic
  AuthName "Entry username and password"
  AuthBasicProvider dbm
       AuthDBMUserFile /root/apache2/auth/userdbm
  AuthGroupFile /root/apache2/auth/groupfile
  Require group group1
  </Directory>
  

  上述指定只有组group1中的用户可访问资源,同样,如果groupfile中的数据很多,
  效率也会很低,应使用AuthDBMGroupFile,使用如下
  <Directory /root/apache2/htdoc>
  AllowOverride None
  AuthType Basic
       AuthName "Entry username and password"
       AuthBasicProvider dbm
       AuthDBMUserFile /root/apache2/auth/userdbm
  AuthDBMGroupFile /root/apache2/auth/groupfile
       Require group group1
  </Directory>
  注:当使用AuthBasicProvider dbm时,原AuthUserFile即使指定了apache也不会加载使用其中的用户!
页: [1]
查看完整版本: Apache(七)使用auth_dbm