这个问题将作为维基提交。目的是收集有价值的配置、部署想法和 smb.conf 设置,以协助完成这项出色的服务。
我已经在关键任务角色中使用了一年多,我可以肯定地说,使用这个软件有起有落;但一路走来,我也学到了一两件事,将真相与炒作区分开来。您遇到过、做过或想过哪些事情来使这项服务发挥最佳效果?
跟进:
我已经开始发布我自己问题的答案,因为似乎没有人有“动力”来提供自己的答案。尽管这是一个社区维基我宁愿从回答我自己的问题,如果有可能避免的,所以如果你有什么分享,请请 请留下一个答案!
我正在试用 Win7,并且我正在尝试连接到联网的 samba 共享,因为我在 Vista 和 XP 中能够正常连接,没有任何问题。如果有帮助,Samba 正在 Ubuntu 上运行。
我已经尝试在本地安全策略中更改以下内容,正如我在某些网站上看到的那样,但它仍然无法正常工作:
本地策略 - 安全选项
网络安全:LAN Manager 身份验证级别发送 LM 和 NTLM 响应
NTLM SSP 的最低会话安全性
禁用需要 128 位加密
我在我的 samba 错误日志中得到了这个:
[2009/09/06 15:15:53, 0] lib/util_sock.c:read_data(534)
read_data: read failure for 4 bytes to client 192.168.1.101. Error = Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
有没有人见过这个问题?
我有一个 Linux 文件服务器,为 linux 和 windows 用户提供 /home 服务。我能够从我的 Windows 客户端连接,但不能从 DC。然后突然间我也可以从 DC 连接了。
linux 服务器运行 Centrify 客户端,因此是域的一部分。都在同一个子网上。
这是 log.smbd 反复说的:
[2010/02/11 11:25:57, 0] lib/util_sock.c:read_data(534) read_data:客户端 192.168.200.3 读取 4 个字节失败。错误 = 对等方重置连接
在 Windows 上,它显示为“未知错误”。编辑:错误代码是“0x80004005”。
我们正在开发一个依赖于 samba 共享的系统,并且担心会再次出现这种情况。找出这件事的根源会很好。
任何想法这可能是什么?要看的地方?
我安装了一个旧的 Samba 3 + LDAP 服务器,需要重建。我正在权衡我的选择,目前 Windows Server 似乎太贵了,Samba 4 似乎是一个不错的选择,再加上最后一个可以将计算机动态添加到 DNS 的 Bind 9。
我有大约 30 个工作站,所以我仍然认为它是一个小型网络。
我的问题是:
我们有一个 linux 服务器,在我们的混合 windows/mac/linux 网络上设置了许多 samba 共享。如果我们转到\\192.168.x.x\share,则可以访问共享,但是我们无法通过其 netbios 名称(如smb.conf文件中的设置)访问服务器。它也没有在网络上列出,而所有其他机器都是——包括其他 linux 机器。
与这台特定的机器相比,我们看不到其他机器的配置有任何不同,除了它们是桌面 Ubuntu 机器并且这是一个“无头”CentOS 服务器。
这是配置文件:
[global]
workgroup = WORKGROUP # correct workgroup name for the network
netbios name = foobar # same as the hostname of the box
security = share
guest account = nobody
local master = no # tried yes, no difference
preferred master = no # tried yes, no difference
; wins support = yes
; dns proxy = yes
# shares …Run Code Online (Sandbox Code Playgroud) 我在带有 2008 PDC/DNS 的 LAN 上有一个 Samba 共享。Smb 使用 AD 进行身份验证,我有几台可以正常连接的 Win7 机器。
我最近在 LAN 中添加了几台新计算机,它们的映像方式与其他计算机相同(相同的软件等;不同的硬件,因此不同的驱动程序),并且它们具有相同的策略集。
无论如何我都无法让新机器连接到 samba 共享。我总是遇到两种Unspecified Error 0x80004005或Network Path not found。
我已经关闭了防火墙;将 LANMAN 身份验证设置为仅响应 NTLM/发送 LM 和 NTLM 响应/如果在本地安全策略 > 安全选项中协商,则使用 NTLM 会话安全;尝试连接 ip 和主机名。
SMB日志显示认证成功;但随后连接立即被客户端终止。
除了尝试通过主机名从客户端连接时,tcpdump 没有显示任何显着的数据包类型错误:
ack 201 win 255 NBT Session Packet: Unknown packet type 0xABData: (41 bytes)
Run Code Online (Sandbox Code Playgroud)
这是该错误中的几行:
11:18:37.964991 IP 001-client.domain.local.49372 > smb.domain.local.netbios-ssn: P 1670:2146(476) ack 201 win 255 NBT Session Packet: Unknown packet type 0xABData: (41 bytes)
[000] …Run Code Online (Sandbox Code Playgroud) 这似乎是一个奇怪的问题,希望有人能有所启发。我在几个 ubuntu 服务器上设置了一些 samba 文件夹,供用户进行一些文件管理。将文件移入共享后,用户尝试通过 samba 从 Windows XP 计算机重命名文件,但收到错误“您指定的文件名无效或太长。指定不同的文件名。”
我检查了权限并在 Windows 7 中搞乱了它,并且遇到了同样的问题。最终我发现只要新名称不包含数字“2”,我就可以更改文件名。文件的新名称应该是“285870_full”,我们可以将它命名为“185870_full”和“385870_full”以及我可以尝试的任何其他名称,但是“285870_full”给出了关于“您指定的文件名无效或太长的错误” ”
我通过 SSH 连接到服务器,并且能够以这种方式重命名文件而没有任何错误。现在通过 samba 我可以看到文件名为“285870_full”,如果我尝试添加另一个“2”,它会给出相同的错误,否则我可以正常重命名它。
我尝试使用另一个随机的小文本文件并遇到同样的问题 - 它不会让我将其重命名为新名称中带有“2”的任何内容,但“134567890”可以正常工作。有任何想法吗?
更新:我将日志级别设置为 3,这是测试日志的相关部分;
reply_mv : pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_p22.txt
[2013/07/22 21:58:39, 3] smbd/reply.c:5981(rename_internals)
rename_internals: case_sensitive = 0, case_preserve = 1, short case preserve = 1, directory = pending/31345678901affiliate_pixel33.txt, newname = pending/31345678901affiliate_p22.txt, last_component_dest = 31345678901affiliate_p22.txt
[2013/07/22 21:58:39, 3] smbd/dosmode.c:149(unix_mode)
unix_mode(pending/31345678901affiliate_pixel33.txt) returning 0744
[2013/07/22 21:58:39, 2] smbd/open.c:580(open_file)
root opened file pending/31345678901affiliate_pixel33.txt read=No write=No (numopen=1)
[2013/07/22 21:58:39, 2] smbd/close.c:612(close_normal_file)
root closed file …
我有一个用于开发环境的非常基本的 samba 共享。www:www 拥有一个目录/var/www/。所有子目录也归 www:www 所有。所有用户都是 www 组的成员。除了共享定义之外,整个 smb.conf 文件都是默认的。
[www]
path = /usr/share/nginx/www/
public = yes
writable = yes
create mask = 0775
Run Code Online (Sandbox Code Playgroud)
我可以从 Windows 看到目录结构,但所有目录都显示为空。此配置在 FreeBSD 中完美运行。有任何想法吗?
到办公室后,我运行了wireshark,并根据QUERY_PATH_INFO 请求,一遍又一遍地返回STATUS_OBJECT_NAME_NOT_FOUND。
我将 webroot 移回 /usr/share/nginx 的 nginx 默认值,无论出于何种原因,这都解决了浏览问题,但我的用户现在没有写入目录的权限。如果不是一回事那就是另一回事了。
我正在尝试设置成像环境。这个想法是使用 DISM 通过网络应用 WIM 图像(Windows 10 专业版)。
我能够启动到 Windows 10 PE。我通过 DHCP 进行网络连接。
当我尝试使用映射网络共享时,net use i: \\server\share我得到:
System error 58 has occurred.
The specified server cannot perform the requested operation.
Run Code Online (Sandbox Code Playgroud)
如果我尝试将它与系统用户的net use i: \\server\share /user:user password位置进行映射user,它会起作用。
该份额是完全公开的。我可以在其他 4 台 Windows 机器上映射没有凭据的共享。(2x Win7,2x Win8)。
服务器是运行 Samba 的 Ubuntu 14.04。4.3.9-Ubuntu。
我的/etc/samba/smb.conf看起来像这样:
[global]
workgroup = WORKGROUP
security = user
server string = Imaging Server
dns proxy = no
follow symlinks = yes
wide links = …Run Code Online (Sandbox Code Playgroud) 我是一名开发人员......在外国地形上行走。请原谅任何天真。
我正在开发一个将数据存储在数据库和文件系统中的应用程序。
上下文:集群和网络共享
过去,当我们运行集群应用程序(即多个应用程序服务器前端数据)时,我们按如下方式处理文件系统:
降低节点 B、C、D 的“磁盘速度”是次优的,但不是大问题。
另请注意:应用程序使用自己的文件锁定机制。并发写入不是问题。
问题
因此,在现代数据中心光纤通道将服务器连接到 SANS 中,在多台服务器之间共享“大块磁盘”的最佳方式是什么?
这种“磁盘共享”是否被广泛使用?
任何特定于操作系统的问题(“适用于 linux,但不适用于 Windows”)
有什么注意事项吗?难以配置、不可靠等?
我从我们的系统管理员那里听到了很多“我们不能那样做”……最后当我询问更多细节时,他们说“好吧,技术上是可能的,但这不是我们在这里做的方式”
提前致谢,
更新:感谢您的回答。(它们都很好:我必须选择一个。对不起,如果它不是你的)正如我(有点)预期的那样:我希望你可以简单地将 NTFS 或 XFS 或任何“常规”文件系统附加到同一个“大块头” '磁盘' 被证明是幼稚的。集群文件系统是一张票。并且花哨的文件系统不是我们托管团队的首要任务)。
samba ×10
linux ×2
samba4 ×2
windows-7 ×2
centos ×1
file-sharing ×1
freebsd ×1
hard-drive ×1
net-use ×1
networking ×1
nfs ×1
ubuntu ×1
windows-pe ×1