用 Samba 跨平台共享文件
创始人
2024-03-02 09:39:43
0

Samba 是一种灵活的文件共享工具,它将你可能在组织中运行的所有不同平台结合在一起。

在我接触 Linux 的早期,我是纽约州一个小型学前教育学区的技术总监。我们的技术预算总是捉襟见肘。我们是一个 Windows 2000 活动目录域,但我们的中央服务器磁盘空间有限,而且没有教师的主目录。此外,我们经历过十几次员工电脑硬盘故障。

我正在寻找一种方法,以最小的成本保存员工的工作。这时我发现了 Samba。在那之前,我一直将 Linux 用于内容过滤,不知道我们的 Windows 工作站可以连接到服务器并保存文件备份。

Samba 项目 自 1992 年以来一直存在。当我开始试验这个项目的时候,这个项目已经有 10 年历史了,我对如何配置它一无所知。我买了一本书并阅读了如何实现它,然后我从我们的电脑柜中取出一台旧电脑,购买了一个 300G 的希捷 IDE 驱动器,安装了 Linux,并配置了 Samba。我使用了一个简单的配置,并且它成功了。在向我们的一个 IT 助理展示后,我们部署了这个解决方案。硬盘故障的问题继续存在,但我们的员工不再需要担心失去他们所有的辛苦工作。

Samba 采用 GPL 许可证,并在大多数 Linux 发行版上广泛使用。Samba 有很好的 文档,Fedora 用户可以查阅这份在 Fedora 上配置 Samba 的文档。

在 Linux 上安装 Samba

你可以使用你的发行版的包管理器来安装 Samba。

在 Fedora、CentOS、RHEL、Mageia 和类似的系统上:

$ sudo dnf install samba

在 Debian, Linux Mint 和类似系统上:

$ sudo apt install samba

用 Samba 创建一个共享文件夹

创建一个简单的共享文件夹只需要五个步骤。

1、在你的 Linux 服务器上创建一个你希望用户能够保存共享文件的目录。这个目录可以是服务器上的任何地方:在 /home/opt 或任何最适合你的地方。我使用我的主目录,我把共享目录称为 sambashare

$ mkdir /home/don/sambashare

在 Fedora 和其他运行 SELinux 的发行版上,你必须对这个共享目录给予安全许可:

$ sudo semanage fcontext --add --type "samba_share_t" ~/sambashare
$ sudo restorecon -R ~/sambashare

2、用 Nano 或你选择的文本编辑器编辑 Samba 配置文件。

$ sudo nano /etc/samba/smb.conf

smb.conf 文件的底部添加以下内容,用你自己的共享目录的位置替换我例子中的 /home/don/sambashare 路径:

[sambashare]
        comment = Samba on Linux       
        path = /home/don/sambashare
        read only = no
        browsable = yes

如果你使用 Nano,按 Ctrl-O,然后按回车来保存,按 Ctrl-X 退出。

3、启动或重启 Samba 服务,这取决于你的发行版。

在 Fedora 和类似的系统中,没有明确的许可,服务是不会启动的,所以现在就可以启动 Samba,并在启动时启动:

$ sudo systemctl enable –now smb.conf

在 Debian 和类似系统中,Samba 默认在安装后启动,所以你必须现在就重启它:

$ sudo service smbd restart

4、更新你的防火墙规则,允许访问你的 Samba 共享。该如何做取决于你的系统使用什么防火墙。

如果你正在运行 firewalld:

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

如果你正在运行 UFW:

$ sudo ufw allow samba

5、现在你需要设置一个密码来访问你的 Samba 共享。这个用户名(在我的例子中是 don)必须属于你系统中的一个账户。

$ sudo smbpasswd -a don

我在每个 Samba 共享中都放置了一个简单的 README 文件,这样用户就会明白这个目录位于服务器上,他们必须在 VPN 上才能从家里访问它等等。

从 Windows 和 Mac 访问 Samba

在 Windows 电脑上,打开文件管理器(Windows Explorer),访问路径 ip-address-of-the-Linux-computer/sambashare。系统会提示你输入 Samba 共享密码,然后 sambashare 目录中的文件会出现在你的文件管理器窗口中,就像它们存在于你的桌面上一样。你可以开始在网络上的这个新共享目录中存储你的文件。

在 macOS 电脑上,进入 Finder 菜单,选择 Go。在出现的对话框中,输入 smb://ip-address/sambashare,并按照提示输入 Samba 密码。

Samba 意味着共享

Samba 使共享文件变得容易。你可以在 Samba 中使用许多其他方案来创建共享位置,包括用户组的公共文件夹,只接受传入文件的收件箱,以及其他你可能需要的东西。它是开源的、灵活的,而且它把你可能在你的办公室里运行的所有不同的平台联合起来。


via: https://opensource.com/article/21/12/file-sharing-linux-samba

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

讲解Linux中samba...
♥️作者:小刘在C站 ♥️个人主页:小...
2025-05-28 23:09:22
BWA-mem和Samba...
在生成BAM文件时,BWA-mem和Sambamba需要正确的读取...
2025-01-12 19:00:43
不使用samba套件,构建...
构建libsmbclient库的过程如下:下载源码:从Samba官...
2024-12-29 08:00:59
安卓ubuntusamba
"安卓ubuntusamba"是一个特定的系统堆叠,包括安卓操作系...
2024-11-09 13:30:50
android访问samb...
在这个技术发达的时代,很多人都有了自己的局域网,也许有时候我们需要...
2024-10-07 18:01:50
瑞芯微RK3566鸿蒙开发...
本文适用于Ubuntu虚拟机环境搭建教程学习,设备为触觉智能开发的...
2024-09-05 14:52:28

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...