Apache 2.4 unixgroup 身份验证不起作用

Apache 2.4 unixgroup 身份验证不起作用

Require unix-group在为我的 Apache 服务器配置 VirtualHost 时,它不起作用。每当我使用 pwauth 登录时,服务器仍会对不属于我指定组的用户进行身份验证。尝试进行的更改/etc/apache2/sites-enabled/000-default.conf如下所示:

<VirtualHost *:80>
    ServerAdmin ratman@localhost
    DocumentRoot /var/www/aperture-apache-server

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    AddExternalAuth pwauth /usr/sbin/pwauth
    SetExternalAuthMethod pwauth pipe
    
    <Directory /var/www/aperture-apache-server/employees>
            Options Indexes FollowSymLinks MultiViews
            IndexIgnore ..
            IndexOptions FancyIndexing
            DirectoryIndex index.html /employees/_h5ai/public/index.php
            
            AuthType Basic
            AuthName "Login"
            AuthBasicProvider external
            AuthExternal pwauth
            
            Require valid-user
            Require unix-group aperturestaff
    </Directory>
</VirtualHost>

因此,我决定放弃mod_authnz_unix_group使用更原始的方法:unixgroup可以与 一起安装的二进制文件pwauth。我运行chmod u+s pwauth了它并将其移动到/usr/sbin/。我最终的配置更改为 ,/etc/apache2/sites-enabled/000-default.conf如下所示:

<VirtualHost *:80>
    ServerAdmin ratman@localhost
    DocumentRoot /var/www/aperture-apache-server

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    AddExternalAuth pwauth /usr/sbin/pwauth
    SetExternalAuthMethod pwauth pipe
    AddExternalGroup unixgroup /usr/sbin/unixgroup
    SetExternalGroupMethod unixgroup environment
    
    <Directory /var/www/aperture-apache-server/employees>
            Options Indexes FollowSymLinks MultiViews
            IndexIgnore ..
            IndexOptions FancyIndexing
            DirectoryIndex index.html /employees/_h5ai/public/index.php
            
            AuthType Basic
            AuthName "Login"
            AuthBasicProvider external
            AuthExternal pwauth
            GroupExternal unixgroup
            
            Require valid-user
            Require group aperturestaff
    </Directory>
</VirtualHost>

但是,Apache 无法启动,并显示:

8 月 22 日 17:43:39 孔径主框架 systemd[1]: 无法启动 Apache HTTP 服务器。主题:单元 apache2.service 的启动作业失败 定义者:systemd 支持:http://www.ubuntu.com/support 单元 apache2.service 的启动作业已失败。作业标识符为 2860,作业结果为失败。

请帮助我在 Apache 服务器上配置基于组的身份验证(不,我不想使用 .htpasswd 文件来保护此目录,我希望通过 VirtualHost 完成)!我正在使用 Ubuntu 22.04 LTS。

相关内容