我在 Mac 环境中的 ubuntu 12.04 上有 samba 4.0.6 作为 AD DC 和文件服务器。一段时间后,OS X 客户端将无法连接到服务器并显示错误消息:“文件服务器将不允许任何其他用户登录。稍后再尝试连接。重新启动 samba 服务暂时解决了该问题。
该服务器用于一家只有 5 个用户的小公司,所有用户都使用 OS X,并且当时使用 smb 连接。
我在 smb.conf 中添加了“最大连接数 = 20000”(如本文末尾所示),但没有任何效果。
# testparm smb.conf
Load smb config files from smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Unknown parameter encountered: "server role"
Ignoring unknown parameter "server role"
Unknown parameter encountered: "dns forwarder"
Ignoring unknown parameter "dns forwarder"
Processing section "[Arkiv]"
Processing section "[Internt]"
Processing section "[Kunder]"
Processing section "[Programvare]"
Processing section "[Ressurser]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = KONVOI
realm = KONVOI.LAN
template shell = /bin/bash
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
idmap_ldb:use rfc2307 = Yes
idmap config * : backend = tdb
[Kunder]
comment = Aktive prosjekter
path = /mnt/data/Kunder
read only = No
max connections = 20000
这看起来可能是一个错误。这可能是 samba 中的一个错误,导致它在没有连接时认为它已断开连接,或者是 OS X 中的一个错误,导致它无法干净地关闭与 samba 的连接。
但是,您可能会从显式指定
deadtime
全局选项(在没有打开的句柄的连接关闭之前的分钟数,以分钟为单位)中获得一些好处;默认是出于某种原因永久保留它们。也就是说,当您处理一个受轻微支持的兼容性接口(OS X AD 和 SMB/CIFS 支持)接口以反向工程替换它的设计接口时,您就是在自找麻烦。特别是如果您只有几个用户,并且没有人使用 Windows,请不要使用 samba。如果每个人都使用 Mac,那么最可靠和最轻松的事情就是使用 OS X 服务器(我保证你不需要太多的 Mac 来满足 5 个人的需求)。
如果你不能这样做,或者不想这样做,OS X 也可以像 Dawud 建议的那样使用 NFS 和 LDAP。在任何一种情况下,所有这些建议都将是更好的架构并且更不容易出错。
这个问题得到了解决。不幸的是,我不记得更新这篇文章。我认为升级 Samba 是解决方案。
关于“为什么 samba4”,正如一些人在这个步骤中提到的那样:
我是一家为中小企业客户服务的公司的专业人士。有些只有 Mac,有些既有 windows 又有 mac。我今天的经验是 samba 4.1 可靠且灵活,因为您可以将它用作 Mac 和 PC 的域控制器(并获得用于管理 PC 客户端的所有 AD 功能)。今天 samba 4.1 已经取代了 samba 3。仅仅为 smb 安装 samba 4.1 并使用另一个 ldap 服务器不是一个合理的选择。如果有一天客户得到一些 PC,我会很高兴我有 samba AD 而不是另一个 ldap 服务器。
我认为。我不会为小客户以外的其他客户销售 OS X 服务器,因为 Apple 不再销售真正的服务器(我不认为 Mac mini 是“真正的”服务器)。