好吧,标题说明了一切,真的。
最终目标是为最终用户实施代理authentication。 用户的系统大部分(95%)是基于Windows的,代理是一个运行鱿鱼的Debian Lenny 2.7。
我已经调查了可能的方法来实现它,首先使用ntlm_auth助手,在Lenny squid2.7发货,它失败了, - 一些用户得到authentication就好,有些没有出于某种原因。 我无法find一个corellation,我甚至用wireshark检查实际的数据包stream无济于事 – 这似乎是完全随机的。 我已经在不同的物理机器/帐户上试过了,所以排除了。
然后,看起来有两条可能的路线可用。 使用winbind(使用samba)并使用ldap + kerberos。
我本人反对使用samba,因为首先它需要你跳过像join域等特定的环节,其次(这是cruncher) – 我不需要samba提供的所有function,它是只是不希望在那台机器上拥有所有的function,比如窗口式的共享等等。 如果我不得不求助于使用samba,我真的只想使用一小部分function,就足以让samba的ntlm_auth(用winbind)来authentication用户。 有没有人有这种设置的经验?
我读过这个问题 (不是真的是一个问题:P),我真的很喜欢我所看到的 – Kerberos似乎是一个可能的解决scheme,足迹并不是那么庞大。 问题是,是否有可能在windows-2000版本的域上运行? 那么浏览器如何支持?
我假设你正在使用Active Directory服务器。 我们做了类似的事情,最简单的方法是像这样使用ntlm_auth helper(我的squid.conf的一部分):
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 10 auth_param ntlm keep_alive on
您将不得不安装Samba并join您的Windows域。 你的smb.conf将不得不使用这些设置:
security = ADS realm = your-dns-domain password server = your-active-directory-server winbind enum groups = yes winbind enum users = yes winbind uid = 10000-20000 winbind gid = 10000-20000 winbind use default domain = yes
我相信也有必要改变/etc/krb5.conf:
[libdefaults] default_realm = your-dns-domain [realms] your-dns-domain = { kdc = your-ad-server }
那么你应该可以join你的Windows域名:
净rpcjoin-S PDC -Upipe理员
最后,您应该有一个使用Windows单一loginlogin的设置。 Internet Explorer(如果您认真使用它)以及Firefox都知道如何发送身份validation凭据。
对于不知道NTLM的应用程序,您可能还需要将回退添加到基本身份validation。 我还没有testing过。
链接: