服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux下配置Samba服务器跨平台共享文件

Linux下配置Samba服务器跨平台共享文件

2022-01-04 22:13Linux中国Don Watkins Linux

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

Linux下配置Samba服务器跨平台共享文件

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 和类似的系统上:

  1. $ sudo dnf install samba

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

  1. $ sudo apt install samba

用 Samba 创建一个共享文件夹

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

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

  1. $ mkdir /home/don/sambashare

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

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

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

  1. $ sudo nano /etc/samba/smb.conf

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

  1. [sambashare]
  2. comment = Samba on Linux
  3. path = /home/don/sambashare
  4. read only = no
  5. browsable = yes

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

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

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

  1. $ sudo systemctl enable now smb.conf

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

  1. $ sudo service smbd restart

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

如果你正在运行 firewalld:

  1. $ sudo firewall-cmd --permanent --add-service=samba
  2. $ sudo firewall-cmd --reload

如果你正在运行 UFW:

  1. $ sudo ufw allow samba

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

  1. $ sudo smbpasswd -a don

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

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

原文链接:https://linux.cn/article-14145-1.html

延伸 · 阅读

精彩推荐
  • Linux在云端的Linux服务器上加密文件系统的方法

    在云端的Linux服务器上加密文件系统的方法

    这篇文章主要介绍了在云端的Linux服务器上加密文件系统的方法,文中采用当下广泛应用的AWS作为示例平台,并介绍了使用Rsync备份的方法,需要的朋友可以参考...

    Linux教程网3962019-09-27
  • Linux什么架构的PMS适合大中型酒店集团?

    什么架构的PMS适合大中型酒店集团?

    自从互联网行业出现了安全事件以来,很多大中型的公司及酒店集团开始注重了,那么网站技术安全架构怎么才能安全呢?使用什么样的架构的PMS呢?接下...

    互联网3332019-09-29
  • Linux在 Linux 上批量处理图像的 Converseen

    在 Linux 上批量处理图像的 Converseen

    Converseen 是一个用于批量图像转换的自由开源软件。有了这个工具,你可以一次将多张图片转换成另一种格式、调整大小、改变它们的长宽比、旋转或翻转...

    Linux中国12052021-07-26
  • LinuxLinux下查看使用的是哪种shell的方法汇总

    Linux下查看使用的是哪种shell的方法汇总

    这篇文章主要介绍了Linux下查看使用的是哪种shell的方法汇总,本文总结了9种查看当前系统使用的是哪种shell的方法,需要的朋友可以参考下 ...

    Linux技术网8562019-10-25
  • Linux使用 df 命令查看 Linux 上的可用磁盘空间

    使用 df 命令查看 Linux 上的可用磁盘空间

    磁盘空间已经不像计算机早期那样珍贵,但无论你有多少磁盘空间,总有耗尽的可能。计算机需要一些磁盘空间才能启动运行,所以为了确保你没有在无意...

    Linux中国8132021-08-04
  • LinuxLinux使用libudev获取USB设备VID及PID的方法

    Linux使用libudev获取USB设备VID及PID的方法

    这篇文章主要介绍了Linux使用libudev获取USB设备VID及PID的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    陌鉎こ城sHi5622020-09-11
  • Linux什么是Linux软链接和Linux硬链接

    什么是Linux软链接和Linux硬链接

    这篇文章主要为大家详细介绍了什么是Linux软链接和Linux硬链接,在默认情况下,ln命令产生硬链接,感兴趣的小伙伴们可以参考一下...

    缘天11552021-11-04
  • Linux详解Linux下常用远程登陆命令telnet和rlogin的用法

    详解Linux下常用远程登陆命令telnet和rlogin的用法

    这篇文章主要介绍了详解Linux下常用远程登陆命令telnet和rlogin的用法,是Linux工作环境与生产环境连接使用中的基础,需要的朋友可以参考下...

    Linux命令手册4982019-06-23