设置 SAMBA 服务器用于家庭文件共享

设置 SAMBA 服务器用于家庭文件共享

如果您的家庭网络中的其他计算机运行的是 Windows 而不是 Ubuntu,这是实现文件共享的最简单的方法吗?

当我右键单击某个文件夹并单击“本地网络共享”,并选中“共享此文件夹”以及“允许其他人在此文件夹中创建和删除文件”时,出现错误

说'Samba 的 testparm 返回错误 1: 从 /etc/samba/smb.conf 加载 smb 配置文件 rlimit_max:increasingrlimit_max(1024) 到最低 Windows 限制 (16384)

然后我在网上看到了一个关于使用 Ubuntu 创建家庭媒体服务器的教程,其中的步骤说的是创建一个 smb 配置文件(gedit /etc/samba/smb.conf)...

我尝试这样做,它说其中包含以下内容:

[global]
 workgroup = HOME #(Set this to your Windows workgroup)
 netbios = HOME #(Set this to your Windows workgroup)
 security = share
 [Shared Drive] #(Set this to the name you want the shared folder to have)
 comment = entire shared drive #(Comments about the shared folder)
 path =/mnt/storage2/ #(Path to the shared folder or mount-point of harddrive)
 read only = no
 guest ok = yes
 writable = yes

按照他们说的填写完字段后,我得到了和以前一样的错误,另外还出现了一条错误“遇到未知参数:“netbios”忽略未知参数“netbios”警告:忽略参数“security”的无效值“share”加载服务时出错

本教程是否已过时并且此文件不再适用于这些命令?

我还注意到,其他 (Windows) 计算机的工作组名称不会自动显示在 Ubuntu 上。默认名称似乎只是 WORKGROUP(在此之前,我一直在所有 Windows 中使用 Homegroups)。不确定这与其他所有内容有何关联。

答案1

我相信我找到了你引用的 HowTo:https://www.howtoforge.com/creating-a-home-media-and-file-server-with-ubuntu

提问时最好告诉别人你使用的 Ubuntu 版本。多年来,Samba 服务器的配置发生了一些变化,特别是自 Ubuntu 11.10 以来。

首先:安全=共享将禁用 samba 服务器服务 ( smbd ) 的运行,因此今天将无法起作用。

我的建议是恢复您的原始 smb.conf(如果有)。如果您没有,您可以将其副本复制到正确的位置。因此:

复制当前的 smb.conf:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

然后复制默认值:

sudo cp -a /usr/share/samba/smb.conf /etc/samba/

保存文件然后重新启动 smbd:

sudo service smbd restart

最后运行此命令查看是否有任何错误:

testparm -s

至于您在使用 usershare(本地网络共享)时收到的错误消息,您发布的内容后面是否有一行,因为您发布的内容是事实陈述,而不是错误。Usershare 错误非常具体。例如,如果您不是 sambashare 组的成员,您将收到一条错误消息,告知您无权创建 usershare。

编辑:就 Windows 机器能够“发现”或看到 Ubuntu 机器而言,由于这是一个家庭网络,我建议如下:

编辑 /etc/samba/smb.conf 并在“workgropup = WORKGROUP”行下添加这两条:

netbios name = ubuntuserv
name resolve order = bcast host lmhosts wins

Netbios 名称不必是“ubuntuserv”,但长度必须为 15 个字符或更少。如果您的主机名已经是 15 个字符或更少,您可以省略该行 - 但保留名称解析顺序行。

保存文件然后按以下顺序重新启动 samba:

sudo service smbd restart
sudo service nmbd restart

然后去给自己泡一壶好茶。整个 netbios 机制很原始,一团糟,当你重新启动 nmbd 时,网络上的所有主机之间都会启动一个完整的进程,大约 10 分钟后就会解决。

笔记:

** 请记住,Linux 或 macOS 中没有 HomeGroup 之类的东西,并且最终 Win10 中也不会有,所以不要尝试通过 HomeGroup 访问这台 Linux 机器。

** 静态 IP 地址是您的好帮手。您的路由器应该能够为您设置,以便至少 Ubuntu 计算机始终具有相同的 IP 地址。然后您就可以使用该 IP 地址进行连接。任何绕过 netbios 机制的东西都是好东西。

** 如果您的 Windows 计算机是 Win10,则情况会更加复杂。它不仅在服务器端禁用 smb1,还在客户端禁用 smb1。客户端上没有 smb1,Windows 无法浏览 netbios 名称(如果其他计算机是 Windows,则无需执行此操作)。您仍然可以连接到 netbios 名称,但必须明确执行此操作,例如: \\ubuntuserv在资源管理器中。

答案2

我建议不要使用 Samba。我已经为此挣扎了好几年,但从来没有成功过。如果你只是想分享一些文件,你可以使用 Dropbox。如果你需要更多空间和高级功能,你应该考虑在你的 Ubuntu 电脑上安装 Nextcloud-Server。还有一个 Windows 客户端。

相关内容