尝试为 MOODLE 配置 SSO

尝试为 MOODLE 配置 SSO

编辑 我实际上没有在 apache2 错误日志中看到 500 错误。我切换了 moodle 的配置,以在所有浏览器中尝试 NTLM 身份验证,而不仅仅是在 IE 中,服务器 500 错误不再出现。我只需要找出身份验证失败的问题是什么。

我正在运行带有 Apache 2.4 和 MOODLE 2.6.2 的 Ubuntu 14.04,试图让 SSO 与我们的 Windows 域一起工作。我已将以下内容添加到 apache2.conf:

<IfModule !mod_auth_ntlm_winbind.c>
    LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so
</IfModule>

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

我也在 MOODLE 中打开了 NTLM,并且 winbind 已安装并正在运行,因为 wbinfo -u 和 wbinfo -g 都返回了它们已从域控制器绑定帐户和组的证明。

smb.conf 已被修改,添加以下内容:

[global]

security = ads
realm = mydomain.local
password server = server.mydomain.local
workgroup = mydomain
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2

当我尝试测试 SSO 并登录时,我收到消息Auto-login failed, try the normal login window...

我不太确定要检查哪些日志,因为我在任何日志中能找到的唯一证据是抛出了 500 内部服务器错误。

答案1

修复这个问题:

usermod -a -G winbindd_priv www-data
chgrp winbindd_priv /var/lib/samba/winbindd_privileged
ln -s /var/lib/samba/winbindd_privileged/pipe /var/run/samba/winbindd_privileged/pipe

Apache 模块期望在 中找到 winbindd 管道套接字/var/run/samba/winbindd_privileged/。但该文件的新位置似乎是/var/lib/samba/winbindd_privileged/

来源:https://bugs.launchpad.net/ubuntu/+source/apache-mod-auth-ntlm-winbind/+bug/1304953

相关内容