Samba - 根据 AD 和本地 passdb 进行用户身份验证

Samba - 根据 AD 和本地 passdb 进行用户身份验证

我只有一个简短的问题。是否可以设置一个 Samba 服务器,该服务器能够根据 Active Directory 对某些用户进行身份验证,并根据本地 passdb 文件对某些用户进行身份验证?

我们想在公司用户和客户之间交换(大型)文件。因此我无法将客户用户添加到我们的 AD 中 - win 管理员不希望这样做。因此目前我有一个单独的帐户数据库。公司用户存在于 AD 中,并在我的 linux samba 框上与其他帐户分开

现在,如果我可以通过 AD 获取公司用户,然后我将(手动)将客户添加到本地 passdb,那就太好了。

谢谢你的帮助,彼得

答案1

这是可能的(也许在较新版本的 Samba 中):

security = ads如果您在文件中使用smb.conf作为域的一部分,您仍然可以在本地添加用户(使用 useradd),然后smbpasswd -a username为他们添加密码(到默认的 tdb 后端,因为我没有明确配置它)。

您需要使用SERVERNAME\username作为名称来进行连接,而不是DOMAIN\username,但除此之外,这似乎可以正常工作。

对我来说,这在装有 samba 4.2.3 和 Windows 7(加入域)客户端的 CentOS 7 上有效,但我不能保证其他版本也能有效。

注意:您仍然需要将用户添加到本地 passwd 文件(或通过 NSS 使用的另一个用户信息源,例如 LDAP 或 NIS)以便可以正常getent passwd username工作,但他们不需要拥有有效的 shell 或系统密码才能使 samba 正常工作。

答案2

如果你有两个 IP,你可以运行两个 Samba 实例,一个针对广告进行身份验证,一个针对本地数据库进行身份验证。请参阅http://wiki.samba.org/index.php/Multiple_Server_Instances,我认为不可能在一个 samba 主机上混合使用身份验证方法。

相关内容