主要是通过搭建 samba 服务实现大文件的快速传输。

准备工作

  • Linux 系统的主机

samba

安装方式可以通过查看 samba 官网 https://www.samba.org/samba/download

一般对应 linux 仓库也会有对应的 samba 软件,网上搜索一下也可以查到。

查看状态

安装完成之后,确认服务状态

systemctl status smbd  # 查看状态
systemctl enable smbd  # 自启动服务
systemctl stop smbd    # 停止运行服务
systemctl start smbd   # 启动服务
systemctl restart smbd # 重启服务

可以通过命令查看端口来确定是否启用 smbd 服务: netstat -antpu | grep smbd

一般情况为下 139 和 445 端口

tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      5380/smbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      5380/smbd
tcp        0      0 192.168.0.114:445       192.168.0.110:53656     ESTABLISHED 7329/smbd
tcp6       0      0 :::445                  :::*                    LISTEN      5380/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      5380/smbd

配置

确认服务启动,修改 samba 配置,配置文件位于 /etc/samba/ 目录下

我们通过修改 samba 的配置文件 smb.conf,创建一个简单的共享目录

[home]
  comment = Home # 描述文件
  path = /home/chen/smaba # 存放文件的绝对路径
  writeable = true
  guest ok = yes

隐藏当前没有权限的文件夹

[global]
access based share enum=yes

指定用户 chen 私有文件夹

[chen]
valid users = chen
read only = no
public = no

pdbedit 管理用户信息

使用 pdbedit --help 查看命令,常见的命令

pdbedit -a <user>  # 创建用户
pdbedit -r <user>  # 修改用户
pdbedit -x <user>  # 删除用户
pdbedit -L, --list # 列举用户

注:创建的用户必须是存在主机上的用户

SSH

Linux 主机上安装 openssh-server,让其他机器通过 ssh 访问。

运行命令 systemctl status sshd 查看 ssh 服务的运行状态,如果 active 的话说明服务运行中。

其他电脑登陆到主机上,只要通过命令 ssh <user>@192.168.x.x

连接主机

查看路由器分配给主机的网卡 inet 地址,一般地址为 192.168.x.x

  • 直接登陆路由器的管理面板查看

  • 运行命令 ip a

访问

Linux

Linux 下主要是通过 smbclient 命令访问。

  • 查看所有共享目录 smbclient -L 192.168.x.x

  • 连接指定的共享目录 smbclient //192.168.x.x/<directory>,成功后会出现提示符 smb: \>

  • 成功连接后可以使用的命令

    get <remote name> <local name> # 下载文件
    put <local name> <remote name> # 上传文件
    其他常见的如 ls, exit, cd, mkdir...等
    

Windows

打开运行之后,输入对应的 inet 地址 //192.168.x.x

IOS

通过 文件->右上角菜单->连接服务器,然后输入 smb://192.168.x.x

Android

安卓通过软件访问,例如使用 CX 文件管理器