如果您曾经想在多个操作系统之间轻松共享家庭网络上的文件,那么 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 机器上配置共享网络文件夹。