我有一台 Ubuntu 服务器已加入到我们办公室的 Active Directory 域 (Windows 2008),一切似乎都很顺利。我可以使用我的 AD 凭据 ssh 到服务器,并且创建了主目录,一切正常。
我想从服务器共享一个目录并使用 Samba 进行 AD 身份验证(安全性 = 广告)。
按照文档的操作,我发现我可以从外部看到共享,但我的 AD 凭据不允许我连接。
使用与服务器相同的凭据可以使用安装.cifs-- 即我可以\\localhost\share
使用domain\me
我无法使用我的 AD 凭据从我的桌面使其工作,但我可以使用一组 Unix 凭据进行连接,因此看起来 Samba 无法解析我的 AD 详细信息,但这让我感到困惑,因为我可以使用 mount.cifs 使用 AD 凭据,如上所述。
Windows 提供凭据的方式是否存在 Samba 无法理解的地方?
附加问题:
我尚未在服务器上设置 Subversion,但设置后我是否能够使用 AD 凭据通过 Apache 进行 HTTP 访问身份验证?
答案1
您应该做的第一件事是检查您的 Samba 日志,如果需要,请提高日志级别: http://oreilly.com/catalog/samba/chapter/book/ch04_08.html
Samba 在解释为什么不允许连接时相当详细和有用。您无疑会在日志中找到一些关于您的问题是什么的非常好的提示。例如,找到原始错误消息并进行 Google 搜索。
答案2
当从 Windows 计算机连接到这样的共享时,您需要指定域:
domain\user
仅当 Windows 机器未加入域时才有必要这样做。
关于你的第二个问题,答案是肯定的。示例配置:
<Location /svn>
DAV svn
SVNParentPath /path/to/svn
AuthType Basic
AuthName "SVN"
AuthBasicProvider ldap
AuthLDAPBindDN "CN=BINDUSER,CN=Users,DC=domain,DC=com"
AuthLDAPBindPassword BINDPASSWORD
AuthLDAPURL "ldap://ldap.server.hostname:389/OU=Users,DC=company,DC=com?sAMAccountName?sub?(objectClass=*)"
AuthzLDAPAuthoritative off
Require valid-user
值得注意的是,AD 将不允许匿名绑定因此您需要创建一个要绑定的用户。例如 svnauth,并替换上面的 BINDUSER/BINDPASSORD。