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。