Apache2 的 NTLM 身份验证模块 mod_auth_ntlm_winbind 省略了域名

Apache2 的 NTLM 身份验证模块 mod_auth_ntlm_winbind 省略了域名

我在本地内联网上的 Ubuntu 18.04 上有一个 Apache2 实例,我想在该实例上配置 NTLM 身份验证。我已安装并配置了 user.php 的 mod_auth_ntlm_winbind 用法,如下所示:

<Directory /var/www/html/>
   <Files user.php>
        AuthName "NTLM Authentication"
        NTLMAuth on
        NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
        NTLMBasicAuthoritative on
        AuthType NTLM
        require valid-user
   </Files>
</Directory>

user.php 本身是

<?php
echo '<h3>NTLM-Auth</h3>';
echo '<b>Username:</b> '.$_SERVER['REMOTE_USER'].'<br />';
echo '<b>Authentication type:</b> '.$_SERVER['AUTH_TYPE'].'<br />';
?>

但是,$_SERVER['REMOTE_USER'] 似乎只包含用户名,没有域名。我尝试设置我在一些提交消息中找到的“NTLMOmitDomain off”,但现在它似乎不起作用,甚至没有在其他地方列出。还有其他方法可以防止 mod_auth_ntlm_winbind 截断域名吗?

答案1

好的,我找到了解决方案。问题在于 mod_auth_ntlm_winbind 的底层机制 winbind 的配置。它是 Samba 的一部分,使用其配置文件。在我的案例中,选项“winbind 使用默认域”设置为“是”。它允许 winbind 管理用户名中没有域部分的用户。在 /etc/samba/smb.conf 中设置“winbind 使用默认域 = 否”后,一切正常。

答案2

控制论- 是具有 NTLM 身份验证的基于 Windows 网络的本地代理。它可能提供系统范围的设置,或仅为单独的应用程序提供设置。

相关内容