我正在尝试替换当前设置的旧 Windows 2000 服务器,该服务器有许多开放的匿名共享,这些共享由必须继续运行几年的旧应用程序使用。我花了几个小时尝试在 2008 R2 机器上创建匿名共享,但放弃了。我的下一个想法是使用 Samba (3.4.7) 创建匿名共享,并遵循这个快速操作指南:http://www.debuntu.org/samba-how-to-share-files-for-your-lan-without-userpassword/,我设置了一个 Lucid Lynx 盒子来实现这一点。效果很好……只要您与 Samba 服务器位于同一子网中。
所以我们的子网大致设置如下:
- 172.21.11.0/24 - Linux 服务器
- 172.21.110.0/24 - 测试电脑(Win7 x64)
- 172.18.224.0/20 - 生产电脑(Win7 x64)
- 204.133.165.0/24(视为内部网络,不要询问)- 旧服务器子网
我将要讨论的具体机器是:
- 172.21.11.24-Samba 服务器 (wrc-deploy)
- 172.21.110.68-我的测试电脑(Win7 x64)
- 204.133.165.24-旧版 Windows 2000 服务器
因此,从另一台 Linux 服务器,我可以毫无问题地执行以下操作:
jheese@wrc-aptcache1:~$ smbclient -NL wrc-deploy
Domain=[WELDCORCC] OS=[Unix] Server=[Samba 3.4.7]
Sharename Type Comment
--------- ---- -------
APS Disk APS share
CARSBIN Disk CARSBIN share
CARSPROJ Disk CARSPROJ share
CivilDocs Disk CivilDocs share
DA_CrystalEase Disk DA_CrystalEase share
RMSDist Disk RMSDist share
RMSDistTRN Disk RMSDistTRN share
RMSTools Disk RMSTools share
TibCAD Disk TibCAD share
IPC$ IPC IPC Service (wrc-deploy)
Domain=[WELDCORCC] OS=[Unix] Server=[Samba 3.4.7]
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP WRC-DEPLOY
jheese@wrc-aptcache1:~$ smbclient -N //wrc-deploy/RMSDist
Domain=[WELDCORCC] OS=[Unix] Server=[Samba 3.4.7]
Server not using user level security and no password supplied.
smb: \> ls
. D 0 Mon Mar 25 15:44:53 2013
.. D 0 Mon Mar 25 15:24:20 2013
test A 0 Mon Mar 25 15:45:01 2013
60617 blocks of size 262144. 49484 blocks available
smb: \> q
jheese@wrc-aptcache1:~$
伟大的!
但是,从 172.21.110.0/24 子网上的 Windows 测试 PC 上,如果我尝试浏览到 \wrc-deploy 或 \wrc-deploy\RMSDist,我会收到“该帐户无权从此站点登录”。
但是,我认为这是关键,我可以毫无问题地浏览到 \172.21.11.24 和 \172.21.11.24\RMSDist...DNS 绝对正常工作,我可以从我的测试 PC 毫无问题地 ping、telnet 等到名称“wrc-deploy”。
此外,我知道它不是旧的 NTLM/LM 安全选项,因为我可以从我的测试 PC 毫无问题地访问旧的 Windows 2000 服务器的共享,并且它位于旧服务器子网 204.133.165.0/24 上。
据我所知,该网络上从未配置过 WINS 服务器,我们的路由器上也没有配置任何广播转发以使旧服务器的共享能够正常浏览。
我已经在 Google 上搜索了有关此问题的所有信息,包括具体的错误信息、查看是否使用 Samba 4.x 而不是 Samba 3.x 来执行此操作、是否需要 WINS(如果可能的话我真的不想走这条路)以及其他所有问题,但我找不到其他处于同样情况的人。
所以,有人能建议一些方法来实现这个吗?我不在乎怎么做,但要求是:
- 匿名 CIFS 共享
- 跨子网按名称工作
- 每个子网上都没有 WINS 服务器(我们的子网太多了,有些位于奇怪的地方)
- (最好)完全不使用 WINS
如果您需要有关配置文件、版本或图表的任何具体信息,请告诉我。提前致谢!
问候,Jon Heese
答案1
好的,我最终向 Samba 用户邮件列表发帖,有人建议我尝试这篇博文中的建议:
http://blog.realcomputerguy.com/2010/12/samba-and-guest-shares-with-security.html
因此我在配置中添加了以下几行:
[global]
...
security = user
Map to guest = Bad User
username map = /etc/samba/smbusers
...
[theshare]
guest ok = yes
并创建 /etc/samba/smbusers,内容如下:
nobody = guest
重新启动 smbd,瞧,她工作了!