我将运行 Samba 的 Debian etch 主机(主机名:webserver,IP 地址:192.168.101.2)添加到具有 Windows 2003 PDC(IP 地址 192.168.101.3)的 Windows 网络。Samba 服务器导出一个公共来宾共享,称为“Intranet”。服务器在网络中显示正常,但尝试单击它会产生一个错误对话框,指出我没有必要的权限。手动输入 \webserver 并使用 \webserver\internet 也显示路径不存在。有趣的是,通过 IP 地址(\192.168.101.2 或 \192.168.101.2\intranet)访问共享可以正常工作。DNS 配置正确,另一个 Linux 客户端上的“smbclient //webserver/intranet”可以正常工作。
一个复杂的问题是,Web 服务器只是在 PDC 服务器上运行的 VMware 虚拟机。
这是我们的 smb.conf:
[global]
workgroup = Foobar
server string = Webserver
wins support = yes ; commenting out these
wins server = 192.168.101.3 ; two lines has no effect
dns proxy = no
guest account = nobody
[... snipped some unrelated bits, like logging ...]
security = share
[... snipped some password-related things ...]
domain master = no
[intranet]
comment = Intranet
path = /srv/webserver/contents
browseable = yes
guest ok = yes
guest only = yes
read only = yes
create mask = 0775
directory mask = 0775
答案1
如果您的客户端可以使用 \\<IP-ADDRESS>\<SHARE-NAME> 访问共享,那么这肯定指向名称解析。
因此,我会仔细检查 DNS 方面的情况,因为 \\<FQDN>\<SHARE-NAME> 实际上与上面的相同。如果您不提供 FQDN,而只提供主机名,并且 [Windows] 客户端仍支持旧版 NBT,它也会尝试 WINS 名称解析。
最后,如果 Windows 客户端在 Windows 7 或 Windows Server 2008 R2 上运行(不确定是否适用于 Vista/Server 2008 R1),则客户端默认希望使用 NTLMv2。较旧的 SAMBA 发行版仅支持 LAN Manager 和 NTLMv1,这使得无法连接。但是,您已成功连接,因此这可能无关紧要。您可以通过本地安全策略或 GPO 更改客户端的操作方式。
长话短说,确保您的 SAMBA 发行版是最新的。而且我会认真考虑删除 SMB.CONF 文件的 NBT 部分(WINS 条目)。
祝你好运!
答案2
我的第一猜测是防火墙。您需要为 tcp 和 udp 打开端口 137、138、139,以便 Windows 与 Linux Samba 服务器良好配合。
答案3
您确定smbd
和nmbd
进程都在服务器上运行吗?
尝试:
ps 辅助 | grep mbd