在Apache2中可以有两个密码文件吗?

5 apache apache2 basic-authentication

我可以在apache2/sites-enabled/000-default配置文件中有两个AuthUserFile指令吗?

    <Location /repo/trac>
      AuthType Basic
      AuthName "Trac"
      AuthUserFile /etc/apache2/passfile1
      AuthUserFile /etc/apache2/passfile2
      Require valid-user
    </Location>
Run Code Online (Sandbox Code Playgroud)

我想要两种类型用户的用户名/密码.

  • DEV - 可以访问SVN和Trac
  • NOM - 只能访问Trac

我有两个选择:为Trac和Svn保留单独的密码文件并单独包含它们,或者在1中有2个密码文件我将DEV放在其他NOM中,并且仅包含1个用于svn并包括两个在trac位置下.

lar*_*sks 8

您应该将所有内容移动到单个密码文件中,然后使用组来控制对特定资源的访问.您可以/etc/apache2/groups使用以下内容创建内容:

DEV: bob alice
NOM: norm fred bart
Run Code Online (Sandbox Code Playgroud)

然后修改您的配置,使其如下所示:

<Location /repo/trac>
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /etc/apache2/passfile
  AuthGroupFile /etc/apache2/groups
  Require group DEV NOM
</Location>
Run Code Online (Sandbox Code Playgroud)

这将允许DEVNOM组的成员访问此资源.

如果您确实想要使用多个密码文件,请参阅mod_authn_alias的文档,其中有一个示例正是如此.