ArchLinux局域网共享文件

安装必备软件

1
sudo pacman -S nautilus-share

注意:安装nautilus-share插件后,pacman将会自动安装上samba等依赖软件,所以仅此一条指令就可以实现gnome3下的nautilus配置共享目录。

启用用户共享功能

在用户可以共享目录之前,管理员必须在 Samba 中启用用户共享。本节参考:3.11. 允许用户在 Samba 服务器上共享目录

例如,仅允许本地 example 组的成员创建用户共享:

  1. 如果example不存在,则创建它

    1
    sudo groupadd example

  2. Samba准备目录以存储用户共享定义并正确设置其权限。例如:

    • 创建目录

      1
      sudo mkdir -p /var/lib/samba/usershares/

    • example组设置权限

      1
      2
      sudo chgrp example /var/lib/samba/usershares/
      sudo chmod 1770 /var/lib/samba/usershares/

    • 设置粘性位以防止用户重命名或删除此目录中其他用户存储的文件。

  3. /etc/samba/smb.conf文件不存在,则参考smb.conf.default建立smb.conf,并将以下内容添加到[global]部分(默认配置中并没有这两项):

    • 设置您配置用来存储用户共享定义的目录的路径。例如:

      1
      usershare path = /var/lib/samba/usershares/

    • 设置允许在这个服务器上创建多少个用户共享 Samba。例如:

      1
      usershare max shares = 100

    如果您对 usershare max shares 参数使用默认值 0,则用户共享将被禁用。

  4. 验证/etc/samba/smb.conf文件

    1
    testparm

  5. 重新载入Samba配置

    1
    sudo smbcontrol all reload-config

用户现在可以创建用户共享。

  1. 支持软链接访问(可选)

/etc/samba/smb.conf[global]节的最后,加上下面三条设置:

1
2
3
follow symlinks = yes
wide links = yes
unix extensions = no

  1. 重启samba服务
    1
    sudo systemctl restart smb

参考文章: Ubuntu配置samba服务器

ArchLinux 中共享文件夹的步骤

步骤 1: 打开文件管理器,右键单击共享的文件夹。点击上下文菜单中的“本地网络共享”选项。

本地网络共享选项

步骤 2: 在文件夹共享对话框中点击共享文件夹复选框。

这将在你的系统中安装 Samba 软件包。Samba 用于在 Windows 和 Unix 系统之间通过网络共享文件和打印机。

文件夹共享选项 - 安装 Samba

步骤 3: 安装 Samba 后,执行以下操作共享文件夹或目录。

  • 选中共享文件夹复选框。
  • 输入共享名称。这将是你从另一个系统(如 Windows)看到的名称。尽量不要使用任何带有空格的名称。
  • (可选)通过勾选相应选项,你可以控制共享文件夹的写入权限,以及允许访客访问。
  • 如果你允许访客访问,则没有凭据的人可以访问共享文件夹。所以要谨慎。
  • 如果你希望用户输入用户名和密码,打开终端并运行以下命令。
1
sudo smbpasswd -a 用户名

用户名 应该是对应 ArchLinux 系统的有效用户。

现在,你应该已经设置好了共享的文件夹或目录。

如何访问共享文件夹

从 Linux 系统中访问共享文件夹,你需要系统的 IP 地址或主机名。为此,打开“系统设置System Settings -> Wi-Fi -> 获取 IP 地址Get the IP address”。

IP 地址设置

如果你运行的是 Linux 发行版不是 Ubuntu,此步骤略有不同。你可能想运行 ip addr 来获取 IP 地址,如下所示:

在 Linux 中查找 IP 地址

一旦你获得 IP 地址,就可以在 Linux 系统中打开文件管理器,然后在地址栏中输入以下内容。注意:你应该修改为你系统的 IP 地址

你现在可以看到共享文件夹上面显示了一个小共享图标,表示网络共享文件夹。

共享文件夹

要在 Windows 系统 访问共享文件夹,打开运行(按下 Windows + R)或打开资源管理器,输入以下地址。注意:你应该修改为你系统的 IP 地址和文件夹名称。

1
\\192.168.43.19\Folder

你应该能够查看共享文件夹的内容,并根据授予的权限修改它。本节参考:如何在 Ubuntu/Linux 和 Windows 之间共享文件夹

关闭 samba 异步提高网速

默认情况下,Samba写操作是异步的,这导致了读取速度减半。在千兆局域网速下,Samba写入速度应当在100m/s, 但是读取速度只有50m/s, 解决方法为:关闭异步, 在配置文件/etc/samba/smb.conf[global]节点下追加上如下代码

/etc/samba/smb.conf -- [global]
1
aio read size = 0