在 Linux 上使用 Samba 进行基本的家庭网络文件共享:具体方法如下在 Linux 上使用 Samba 进行基本的家庭网络文件共享:具体方法如下在 Linux 上使用 Samba 进行基本的家庭网络文件共享:具体方法如下在 Linux 上使用 Samba 进行基本的家庭网络文件共享:具体方法如下
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Linux 上使用 Samba 进行基本的家庭网络文件共享:具体方法如下

发表 admin at 2025年2月28日
类别
  • 未分类
标签

要点

  • 在大约 30 分钟内使用 Samba 设置 Linux 文件服务器,以完全控制网络存储。
  • Samba 非常适合在 Linux 服务器上共享文件,以轻松维护和访问文件。
  • 从 Windows、macOS、Android 和 iPhone 无缝连接到 Samba 网络共享。

厌倦了兼顾外部驱动器和处理云存储的限制?在大约 30 分钟内创建一个简单的 Linux 服务器和 Samba,并使用您自己的个人网络存储,几乎可以从任何家庭设备访问,而无需担心连接速度或额外的硬件。

我采用极简方法在本地计算机上存储文件。我喜欢把事情整理得井井有条,并确保有足够的可用空间——这是从磁盘空间以兆字节为单位的时代开始的习惯。

附加存储效果很好,但它仍然是本地的,除非你随身携带,而且我已经记不清有多少次将拇指驱动器留在其他设备中了。云存储是一个不错的选择,但连接速度和文件大小可能受到限制,尤其是在处理大文件时。

桑巴救援

自从我开始构建 Linux 服务器以来,Samba 一直是我在家庭网络上共享文件的首选。它非常适合存放文件以安全保管和归档我可能永远不再需要的东西,但我喜欢保留以防万一。

我使用无头 Ubuntu 服务器来流媒体、共享打印机、存储大文件和备份重要数据。我通过 SSH 从任何地方管理它,这对于系统更新、添加用户和一般管理任务来说效果很好。对于更大的文件操作(例如组织或移动内容),命令行可能会变得乏味,因此我使用网络共享来管理 Mac 或 Windows 桌面上的文件和文件夹,

在 Linux 上安装 Samba

我们将通过 Ubuntu、Fedora 和 Arch Linux 上的命令行安装 Samba。安装后,无论 Linux 发行版如何,配置 Samba 都是相同的。

乌班图

打开您最喜欢的终端模拟器来安装 Samba 软件包。

sudo apt update

sudo apt 安装 samba

或者,如果您的服务器上运行了防火墙,您可能需要允许 Samba 通过它。

sudo ufw allow samba

最后,启动并启用 Samba 服务。

sudo systemctl start smbd

sudo systemctl 启用 smbd

软呢帽

安装 Samba 软件包。

sudo dnf install samba samba-client

(可选)配置防火墙。

sudo firewall-cmd --permanent --add-service=samba

sudo 防火墙-cmd --reload

启动并启用 Samba 服务。

sudo systemctl start smb

sudo systemctl 启用 smb

架构Linux

安装 Samba 软件包。

sudo pacman -S samba

启动并启用 Samba 服务。

sudo systemctl start smb

sudo systemctl 启用 smb

如果使用firewalld,允许Samba通过防火墙。

sudo firewall-cmd --permanent --add-service=samba

sudo 防火墙-cmd --reload

如果使用 ufw:

sudo ufw allow Samba

配置您的第一个 Samba 配置

不管你相信与否,这可能是最难的部分。 Samba 现在正在您的系统上运行。您可以输入sudo systemctl status smbd来检查服务器是否正在运行。

即使 Samba 已启动并正在运行,您仍然需要对其进行配置,以便您的文件服务器在本地网络上可见,然后设置一个简单的共享。

您可以在 smb.conf 文件中执行所有这些操作,该文件几乎总是位于 /etc/samba/smb.conf。

使用您喜欢的文本编辑器,输入 sudo vim /etc/samba/smb.conf 打开 Samba 配置文件。

全局设置

现在您可以根据以下内容创建一个非常基本的 Samba 配置:

[global]
  workgroup = WORKGROUP
  netbios name = MYSERVER
  server string = Samba Server %v
  security = user
  map to guest = Bad User

smb.conf 文件的全局部分定义 Samba 服务器的总体配置设置。这些设置适用于所有共享并控制服务器与网络上的客户端交互的方式。

您想要更改的唯一参数是工作组和 NetBIOS 名称。工作组参数简化了流程并增强了网络发现和交互。如果计算机位于不同的工作组中,您仍然可以共享文件,但可能需要执行额外的配置步骤才能促进设备之间的访问和通信。 NetBIOS 名称允许您查看并连接到具有该名称(而不是 IP 地址)的服务器。

设置共享

为了向您展示这一切是如何工作的,我们现在需要使用您用户的主目录设置一个简单的共享。将此部分添加到全局设置下的 smb.conf 文件中。

[HomeShare]
path = /home/your_username
browseable = yes
writable = yes
valid users = your_username
create mask = 0700
directory mask = 0700

HomeShare 部分定义了指向用户主目录的共享,允许通过网络进行访问。它指定目录路径、访问权限,并限制特定用户的访问,确保只有所有者才能浏览和修改内容。您可以根据需要创建任意数量的共享。

在本部分(以及您此后创建的任何其他部分)中,共享的[名称]、路径和有效用户参数将需要与您的设置相匹配。创建掩码和目录掩码参数确保只有文件所有者 (htg) 才能访问共享中新创建的文件和目录。 Linux 权限一开始似乎很难理解,但正确使用它们将帮助您锁定不希望其他人访问的内容。

[HTG Home]
   path = /home/htg
   browseable = yes
   writable = yes
   valid users = htg
   create mask = 0700
   directory mask = 0700

编写完基本的 smb.conf 后,保存它并返回到命令行,然后输入 sudo systemctl restart smbd 重新启动 Samba 守护进程。

最后,您只需使用 sudo smbpasswd -a your_username 将用户添加到 Samba。

现在,您应该能够从网络上的所有设备访问您的共享。您可以使用 smb.conf 做更多事情,并且有大量文档解释您可以添加到其中的所有各个部分和参数。

每当您进行任何更改时,键入 testparm 都会很有帮助,以确保配置有效。请记住,每次更改配置时,都需要重新启动 Samba。

让我们逐一介绍四大商业操作系统(Windows、macOS、Android、iPhone),向您展示如何连接到网络共享。

在 Windows 上连接

要在 Windows 上访问共享,只需打开文件资源管理器并在位置字段中输入 \\NETBIOS_NAME 或 \\IP_ADDRESS,然后系统会提示您输入用户名和 Samba 密码。




或者,右键选择“网络”标题,然后选择“映射网络驱动器”以在资源管理器中为共享网络资源分配驱动器号。请记住,您需要提供 Samba 共享的完整路径,例如:“//ubuntu-vm/HTG Home”。





在 macOS 上连接

在 macOS 上,连接到网络资源的最可靠方法是打开 Finder,选择“前往”>“连接到服务器”或键盘快捷键 Cmd+K。在空白字段中,输入“smb://服务器名称”或“smb://服务器 IP 地址”,然后连接,系统将提示您输入用户名和 Samba 密码。如果您不想每次连接时都输入凭据,请务必选择“在我的钥匙串中记住此密码”。





您无法像在 Windows 上那样在 macOS 中装载共享网络资源,但您可以在 Finder 中进入计算机的位置,并将它们拖到侧边栏以固定它们以供以后访问。

安卓

许多 Android 设备没有附带支持 SMB 协议的库存文件管理器,因此您需要安装一个支持 SMB 协议的文件管理器。我正在使用 File Manager +,它是免费的,具有连接到远程源(包括 SMB、FTP、SFTP 和 WebDAV)所需的功能。






我选择了“本地网络”选项,这使得连接到其他计算机变得更加容易,因为它会自动记录主机(IP 地址)和显示名称(NetBIOS 名称)。

iPhone

您可以使用每个 iPhone 设备上附带的“文件”应用程序连接到服务器资源。文件应用程序对于使用服务器名称非常挑剔,因此我必须输入 IP 地址才能使其连接到服务器。






在 Linux 计算机上设置 Samba 文件服务器为跨各种设备和操作系统管理文件提供了强大的多功能解决方案。如果您正在寻找跨平台共享文件的其他方法,您还可以尝试 LocalSend,或使用 NextCloud 创建您自己的云服务器。

©2015-2025 Norria support@norria.com