我有一台 QNAP NAS,它提供了一些 SMB 共享。由于我处于受信任的环境中,因此我的共享可以通过以下方式访问:客人而不是用户名和密码的组合。
问题
现在,当我单击 Finder 侧栏中的设备名称时,会出现黑色的“连接失败”栏,其中有“连接为...”选项。单击该选项时,我收到:
但是我可以按⌘ + K并手动输入服务器的名称,这将让我进入此窗口:
在这里,我必须选择“访客”。现在,我可以选择要连接的共享之一,最后我就可以连接到服务器了。如果我在侧栏中选择它,我会得到所有可用共享的列表,因为我是以“访客”身份连接的,显然:
我需要的
好吧,一旦我卸载所有共享,我就必须再次执行相同的以“访客”身份手动登录的过程,我觉得这很烦人。
有什么方法可以让 Finder(或底层 SMB 客户端)知道要使用哪些凭据?
或者我应该在服务器端寻找解决方案?(我知道其他 SMB 共享在我的网络中似乎运行良好)
诊断
我唯一能从 Console.app 中得到的东西是:
5/15/11 7:36:40 PM /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder[200] SharePointBrowser::handleOpenCallBack returned 64
当我单击 Finder 侧栏中的 SMB 服务器名称时出现此消息。
以下是 smbclient -L meredith -U guest -d=2 的输出
charon:~ werner$ smbclient -L meredith -U guest -d=2
added interface ip=192.168.100.11 bcast=192.168.100.255 nmask=255.255.255.0
tdb(unnamed): tdb_open_ex: could not open file /private/var/samba/gencache.tdb: Permission denied
Got a positive name query response from 192.168.100.100 ( 192.168.100.100 )
Password:
Domain=[MEREDITH] OS=[Unix] Server=[Samba 3.5.2]
Sharename Type Comment
--------- ---- -------
music Disk
movies Disk
photos Disk
software Disk
archive Disk
backups Disk
IPC$ IPC IPC Service (NAS Server)
Got a positive name query response from 192.168.100.100 ( 192.168.100.100 )
Domain=[MEREDITH] OS=[Unix] Server=[Samba 3.5.2]
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP MEREDITH
另外,我尝试过的方法有:
- 钥匙串中没有相关条目(但为什么会这样,我只是以访客身份连接)
- 使用用户名“Guest”和空密码进行连接后,我登录了,但在弹出最后一个共享后,我仍然收到与之前相同的“连接失败”错误。在 Keychain 中进行了相应的输入,但显然没有效果。
答案1
在 Mac OS X 10.7.3 中,我在 Finder 的“连接到服务器...”(Command-K) 中使用以下字符串来表示我办公室中的类似服务器:
smb://访客:@服务器地址/卷
您需要同时使用 ':' 和 "@"。我相信它的效果是 UserName:Password@address 。
该卷出现后,我尝试将其放入快捷栏中,但它却无法保留。
我创建了一个别名,并在断开连接后对其进行了测试。它工作正常。没有出现选择“访客”的窗口。
答案2
您可能遇到的情况如下:如果未连接且两个守护进程都在服务器上运行,并且 AFP 正在通过 Zeroconf 进行通告,则 Finder 将尝试使用 AFP 而不是 SMB 连接到您的共享。不使用 Zeroconf(avahi/其他)通告 AFP 应该可以解决此问题。Time Machine 应该仍能正常工作。
答案3
创建一个名为 ~/Library/Preferences/nsmb.conf 的文件并在其中添加:
[default]
minauth=none
断开与服务器的连接,重新连接并重试。这对我有用(我也遇到过同样的问题)。
答案4
这是一篇文章Apple 应该可以解决这个问题。