如何使用 Samba 在 Ubuntu 上设置网络共享文件夹

如果您曾经想在多个操作系统之间轻松共享家庭网络上的文件,那么 Samba 就是您的不二之选。

本指南将向您展示如何使用 Samba 在 Ubuntu Linux 上设置网络共享文件夹。 使用 Samba 服务器,无论您使用的是 Windows、macOS 还是 Linux,您都可以轻松地在网络上共享文件。

什么是桑巴?

Samba 是一种文件共享服务,它实现了最初由 Microsoft 和 IBM 开发的 SMB 协议套件的开源版本。 Samba 包含允许它与 Microsoft Windows 文件共享协议互操作的程序。

Samba 还允许您使用标准 TCP/IP 网络轻松地与其他客户端通信。

第 1 步:安装 Samba

本指南将使用 Ubuntu Linux 20.04 LTS,但即使您使用的是 Ubuntu 16.04 或更高版本,这些步骤也应该有效。 首先更新您的包源信息。

sudo apt update

然后,使用以下命令安装 Samba:

sudo apt install samba

要检查 Samba 是否已成功安装,请运行以下命令:

smbd --version

输出应该类似于下面的输出。

第 2 步:配置 Samba

为了能够与其他网络设备安全地共享文件,您必须配置 Samba 服务器。 Samba 的主要配置文件位于 /etc/samba/smb.conf 在您的 PC 上。 本指南使用 Vim 文本编辑器来编辑 Samba 配置文件,但您也可以随意使用您选择的任何其他文本编辑器。

笔记: 您需要具有管理权限才能编辑配置文件。

sudo vim /etc/samba/smb.conf

将以下行添加到配置文件的底部。

[sambashare]
comment= Network Shared Folder by Samba Server on Ubuntu
path = /home/your_username/sambashare
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
public = yes
read only = no

记得更新 小路 参数与您的用户名。 您可以通过运行以下命令来获取您的用户名:

echo $USER

要在进行更改后退出 Vim 编辑器,只需键入 :wq 并按下 Enter 钥匙。

了解配置

这是您刚刚添加的配置行的简要说明。

  • 部分: 配置文件中的一个新部分由方括号 ([ ])。 在这种情况下,该部分是 [sambashare].
  • 评论:这行代码提供了本节内容的简要概述。 特别是,如果您在配置文件中有多个共享目录部分,这将非常有用。
  • 小路: 这是您指定的网络共享文件夹的目录路径。
  • 强制用户:Samba 服务器将用于共享文件的系统用户。
  • 强制组: Samba 系统用户所属组的名称。
  • 创建蒙版:此参数将为共享文件夹中新创建的文件设置权限。 在这种情况下,值为 0664,这意味着文件和组的所有者将具有读写权限,而其他用户只有读取权限。
  • 强制创建模式: 与 创建掩码 参数以设置正确的文件权限。
  • 目录掩码:此参数决定共享文件夹中文件夹的权限。 0775的权限,意味着所有者和组拥有读、写和执行权限,而其他人只有读和执行权限。
  • 强制目录模式:此参数与 目录掩码 确保设置了正确的目录权限。
  • 上市:此参数指定这是您网络上的公用文件夹,并且其他设备可以访问它。
  • 只读:指定修改共享文件夹中文件的权限。

第 3 步:创建 Samba 资源

配置好 Samba 服务器后,现在您必须创建必要的资源,例如 Samba 用户和要共享的目录。 这些资源将促进在网络上共享文件夹的过程。

1. 共享文件夹

您需要在上面 Samba 配置文件中指定的路径中创建共享文件夹。 本指南使用一个名为 桑巴分享 位于您的主目录中。

使用 cd 命令导航到您的主目录。

cd ~

然后使用以下命令创建共享目录:

mkdir -p sambashare

2. Samba 用户和组

下一步是创建配置文件中指定的 Samba 系统用户和组。

您可以使用以下命令创建 Samba 系统组:

sudo groupadd --system smbgroup

接下来,使用创建 Samba 系统用户 用户添加.

sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser 

上面的命令创建一个系统用户并将该用户添加到上面创建的 Samba 组中。 此外,由于这是系统用户,因此不会创建主目录。

3.更改共享文件夹所有者

一旦 Samba 用户和组就位,您现在可以将共享文件夹所有者更改为新用户 smbuser 和小组 集团. 您可以使用以下命令实现此目的:

sudo chown -R smbuser:smbgroup ~/sambashare

最后,发出以下命令,为组授予对共享文件夹和其中内容的写入权限。

sudo chmod -R g+w ~/sambashare

第 4 步:重新启动 Samba 服务

您应该重新启动 Samba 服务以使 Samba 配置文件中的更改生效。

sudo systemctl restart smbd

服务重新启动后,您可以使用以下命令检查其状态:

sudo systemctl status smbd

笔记:如果您启用了防火墙,您还应该使用 ufw 命令将 Samba 添加到启用的规则中。

sudo ufw enable samba

第 5 步:访问共享文件夹

您的共享文件夹现在可由网络上的设备访问。

在 Windows 上

在 Windows 中,您可以使用 Windows 资源管理器访问共享文件夹。 您可以使用启动文件资源管理器 视窗 + E 键盘快捷键。

在地址栏中,键入 ip_address_of_pc_with_shared_foldersambashare.

请记住替换为正确的 IP 地址和共享文件夹名称。

系统还会要求您输入 Linux PC 上用户的用户名和密码。

在 Ubuntu 上

在 Ubuntu Linux 上,打开默认文件管理器并单击 其他地点 按钮。 那么,在 连接到服务器 输入,按以下格式输入IP地址:

smb://ip_adresss_of_pc_with_shared_folder/sambashare

您可以以注册用户或匿名用户身份连接。 请记住,如果您选择 注册用户 从下拉列表中,您必须指定用户的凭据。

在 macOS 上

Mac 用户也可以轻松访问共享文件夹。 在 Finder 菜单中,单击 网络 选项卡,将列出具有公共共享文件夹的计算机。 选择它,您应该能够访问这些文件。

在多个设备之间高效共享文件

本指南介绍了如何使用 Samba 在网络上共享文件。 使用 Samba,您可以在网络上共享文件,而不管您在设备上运行的操作系统是什么。

不仅是 Linux,您还可以在 Windows 机器上配置共享网络文件夹。