标签: samba

Samba 服务器实现细节和最佳实践

这个问题将作为维基提交。目的是收集有价值的配置、部署想法和 smb.conf 设置,以协助完成这项出色的服务。

我已经在关键任务角色中使用了一年多,我可以肯定地说,使用这个软件有起有落;但一路走来,我也学到了一两件事,将真相与炒作区分开来。您遇到过、做过或想过哪些事情来使这项服务发挥最佳效果?

跟进:

我已经开始发布我自己问题的答案,因为似乎没有人有“动力”来提供自己的答案。尽管这是一个社区维基我宁愿从回答我自己的问题,如果有可能避免的,所以如果你有什么分享,请 留下一个答案!

linux samba

7
推荐指数
1
解决办法
2478
查看次数

Windows 7 无法连接到 Samba

我正在试用 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)

有没有人见过这个问题?

windows-7 samba

7
推荐指数
1
解决办法
2万
查看次数

Windows/Samba 连接错误

我有一个 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 共享的系统,并且担心会再次出现这种情况。找出这件事的根源会很好。

任何想法这可能是什么?要看的地方?

windows-server-2008 samba

7
推荐指数
1
解决办法
5094
查看次数

用于生产的 Samba4 建议

我安装了一个旧的 Samba 3 + LDAP 服务器,需要重建。我正在权衡我的选择,目前 Windows Server 似乎太贵了,Samba 4 似乎是一个不错的选择,再加上最后一个可以将计算机动态添加到 DNS 的 Bind 9。

我有大约 30 个工作站,所以我仍然认为它是一个小型网络。

我的问题是:

  1. Samba 4 是否足够稳定用于生产?与其他开源项目相比,Samba 团队似乎对何时将他们的版本称为最终版本甚至测试版过于谨慎。
  2. 你会推荐什么 Linux 发行版来设置它?我通常使用 Ubuntu Server,但如果安装/维护 Samba 4 更好,则可能会使用另一个。

linux samba samba4

7
推荐指数
1
解决办法
2475
查看次数

无法通过 netbios 名称查看 Samba 服务器

我们有一个 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)

networking file-sharing network-share samba

7
推荐指数
2
解决办法
3万
查看次数

服务器 2008/Windows 7/Samba 未指定错误 80004005

我在带有 2008 PDC/DNS 的 LAN 上有一个 Samba 共享。Smb 使用 AD 进行身份验证,我有几台可以正常连接的 Win7 机器。

我最近在 LAN 中添加了几台新计算机,它们的映像方式与其他计算机相同(相同的软件等;不同的硬件,因此不同的驱动程序),并且它们具有相同的策略集。

无论如何我都无法让新机器连接到 samba 共享。我总是遇到两种Unspecified Error 0x80004005Network 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)

windows-server-2008 windows-7 samba

7
推荐指数
2
解决办法
3万
查看次数

尝试通过 Samba 重命名文件;如果文件名中有“2”,则失败

这似乎是一个奇怪的问题,希望有人能有所启发。我在几个 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 …

ubuntu samba

7
推荐指数
1
解决办法
1230
查看次数

CentOS 上的 Samba 服务器看到共享目录,但没有文件可见

我有一个用于开发环境的非常基本的 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 默认值,无论出于何种原因,这都解决了浏览问题,但我的用户现在没有写入目录的权限。如果不是一回事那就是另一回事了。

freebsd centos samba

7
推荐指数
1
解决办法
1万
查看次数

Windows 10 PE 无法匿名映射网络驱动器

我正在尝试设置成像环境。这个想法是使用 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)

network-share samba net-use samba4 windows-pe

7
推荐指数
1
解决办法
1万
查看次数

现代数据中心的共享磁盘(SAN、虚拟化等)

我是一名开发人员......在外国地形上行走。请原谅任何天真。

我正在开发一个将数据存储在数据库和文件系统中的应用程序。

上下文:集群和网络共享

过去,当我们运行集群应用程序(即多个应用程序服务器前端数据)时,我们按如下方式处理文件系统:

  • 节点 A:共享“数据目录”(通过 samba 或 nfs)
  • 节点 B、C、D 等:安装“网络共享”并在其“数据目录”中使用

降低节点 B、C、D 的“磁盘速度”是次优的,但不是大问题。

另请注意:应用程序使用自己的文件锁定机制。并发写入不是问题。

问题

  • 因此,在现代数据中心光纤通道将服务器连接到 SANS 中,在多台服务器之间共享“大块磁盘”的最佳方式是什么?

  • 这种“磁盘共享”是否被广泛使用?

  • 任何特定于操作系统的问题(“适用于 linux,但不适用于 Windows”)

  • 有什么注意事项吗?难以配置、不可靠等?

我从我们的系统管理员那里听到了很多“我们不能那样做”……最后当我询问更多细节时,他们说“好吧,技术上是可能的,但这不是我们在这里做的方式”

提前致谢,

更新:感谢您的回答。(它们都很好:我必须选择一个。对不起,如果它不是你的)正如我(有点)预期的那样:我希望你可以简单地将 NTFS 或 XFS 或任何“常规”文件系统附加到同一个“大块头” '磁盘' 被证明是幼稚的。集群文件系统是一张票。并且花哨的文件系统不是我们托管团队的首要任务)。

storage-area-network hard-drive nfs samba

6
推荐指数
1
解决办法
544
查看次数