跳到主要内容

文件共享协议

文件共享协议允许通过网络将 Bianbu NAS 上的文件共享给局域网内的其他主机,这是 NAS 产品的核心功能之一。通常,文件共享协议以 systemd 服务的形式注册到系统中,因此也可以称为文件共享服务。本节将以配置 SMB 服务为例,详细介绍文件共享服务的配置流程,其他文件共享服务的配置可参照此流程进行。

服务端配置

修改主机名

SMB 服务要求主机名小于15个字符,所以需要先修改默认的主机名。其他文件共享服务没有这个要求,可跳过这一步。

[!NOTE]

修改主机名的过程会再次通过 DHCP 服务获取 IP 地址,这意味着 IP 地址可能会更新。如果修改过程中出现网页跳转或刷新之后提示不存在等问题,大概率是 IP 地址更新了,需重新查看并登录新的 IP 地址进行后续操作。

  • 点击“网络 -> 常规”,设置主机名。点击“保存”。

smb1

点击保存之后只是将更改保存到了数据库里,要将其应用到底层系统,需要进一步点击"应用更改",此时系统会调用 salt 命令将数据库的记录写到系统配置,并重启系统服务。

smb2

挂载磁盘

共享的数据存储在磁盘上,故先挂载磁盘。如果该磁盘分区没有格式化,请先格式化(这一步要谨慎!!!)。

  • 点击“存储器 -> 文件系统 -> 挂载”,选择要共享的磁盘并挂载。

smb3

创建共享文件夹

磁盘挂载之后不能直接使用,需要进一步创建共享文件夹,方便进行权限管理和数据隔离。

  • 点击“存储器 -> 共享文件夹”,选择目标磁盘,在上面创建共享文件夹(以 smb-share 为例)。共享时将该文件夹通过网络服务共享出去。

smb4

创建SMB服务实例

  • 点击“服务 -> SMB/CIFS -> 设置”,配置 SMB 服务,这里的设置是全局的,对所有 SMB 服务实例有效。

smb5

  • 进一步,点击“服务- > SMB/CIFS -> 共享”,设置具体的 SMB 服务实例,这一步要选择共享文件夹(以 smb-share 为例)。

smb6

设置用户权限

共享服务的目的是在远端访问服务器资源,远端访问的时候需要权限,确保远端登录的用户对访问的共享文件夹具备相应权限。这里以创建一个用户并设置权限为例。

  • 点击“用户 -> 用户”,创建用户(以 bianbu 用户为例,设置用户名和密码均为 bianbu)。

smb7

  • 点击“用户 -> 用户 -> 共享文件夹权限 ”,设置用户对共享文件夹的权限。设置 bianbu 用户对 smb-share 共享文件夹的权限为可读可写。

smb8

在客户端连接 SMB 服务的时候,以该用户进行登录,即对共享的 SMB 服务具备预先设置的权限。

客户端连接

本节介绍不同客户端连接 SMB 服务的方法。假设:

  • 服务端 IP 地址为 HOST_IP
  • 已搭建 SMB 服务实例,SMB 共享文件夹名为 smb-share
  • 已创建用户并设置对 smb-share 的权限为可读可写,用户名和密码均为 bianbu

Windows 文件管理器

打开“文件资源管理器”,选择“计算机 -> 映射网络驱动器”,输入共享文件夹地址:

\\HOST_IP\smb-share

Linux Nautilus 文件管理器

打开 Nautilus 文件管理器,选择“Other Locations”,输入共享文件夹地址:

smb://HOST_IP/smb-share

Linux CLI

mount.cifs //{HOST_IP}/smb-share /your_mount_path -o user=bianbu,password=bianbu