上一篇
安卓建smb服务器
- 行业动态
- 2025-04-22
- 5
安卓设备搭建SMB服务器指南
前置条件
设备要求
- Android 5.0+ 系统
- Root权限(部分方法需要)
- 网络环境(建议有固定IP或支持UPnP的路由器)
工具准备
| 工具类型 | 推荐应用/工具 | 说明 |
|—————-|—————————–|—————————–|
| SMB服务端软件 | FlyPig、KSWEB、AndroFTP | 根据需求选择 |
| 终端模拟器 | Termux(可选) | 用于命令行操作 |
| 文件管理器 | ES文件浏览器、MT管理器 | 管理共享文件 |
主流实现方法
使用FlyPig(需Root+Xposed框架)
安装步骤:
- 刷入Xposed框架并激活
- 安装FlyPig模块,重启设备
- 通过
设置 → FlyPig
配置SMB服务:- 启用SMB服务
- 设置共享目录(建议放在/sdcard/路径下)
- 配置端口(默认445,可自定义)
- 设置访问密码
优点:轻量级,支持SAMBA协议原生功能
缺点:依赖Xposed框架,Android 10+兼容性差
KSWEB(Web服务器集成SMB)
安装步骤:
- 安装KSWEB,启动后授予存储权限
- 进入”Services” → “SMB”开启服务
- 配置共享路径(如/storage/emulated/0/Ksweb/web)
- 设置工作组(默认WORKGROUP)、描述、端口
适配性:支持Android 10+,无需Root
注意:需同时安装PHP等组件(约占用200MB空间)
AndroFTP(图形化界面)
操作流程:
- 安装AndroFTP,允许所有权限请求
- 主界面点击”+” → 选择”SMB Server”
- 配置参数:
| 参数项 | 建议值 |
|————–|—————————-|
| 服务器名称 | 任意标识(如ANDROID-PC) |
| IP地址 | 自动获取(内网IP) |
| 端口 | 445(默认) |
| 工作组 | WORKGROUP |
| 共享目录 | /sdcard/FTP_SHARE |
优势:支持多用户管理,可限制上传下载速度
关键配置说明
权限设置
- Linux文件权限需设置为
777
(所有人可读写) - SELinux策略需调整为Permissive模式(Magisk等ROOT工具支持)
- Linux文件权限需设置为
端口映射
- 路由器设置端口转发(如445→设备内网IP)
- 检查防火墙规则(部分ROM会拦截非常规端口)
稳定性优化
- 添加应用到电池优化白名单
- 使用Tasker创建定时任务保持服务运行
- 关闭省电模式中的后台限制
验证与访问
局域网测试
- Windows访问:
\[设备IP]共享文件夹
- Mac访问:
smb://[设备IP]/共享文件夹
- Windows访问:
外网访问
- 确认路由器WAN口IP
- 配置DDNS(如No-IP)
- 检查运营商是否封锁445端口(常见于国内宽带)
常见问题与解决方案
问题现象 | 解决方案 |
---|---|
无法搜索到设备 | 检查设备与路由器是否在同一网段,尝试禁用IPv6仅用IPv4 |
提示权限拒绝 | 确保共享目录权限为777,SELinux模式设为Permissive |
连接超时 | 检查防火墙设置,尝试更换端口(如445→139) |
外网无法访问 | 确认路由器端口转发规则,检查运营商是否封锁对应端口 |
【相关问题解答】
Q1:没有Root权限如何搭建简易SMB服务?
A:可使用Termux安装samba:
pkg install samba mkdir /storage/emulated/0/share echo "[share] path = /storage/emulated/0/share browseable = yes writable = yes" > /data/data/com.termux/files/etc/samba/smb.conf smbd -D
注意:需手动处理权限转换,适合临时使用
Q2:如何让Windows电脑直接访问安卓共享文件夹?
A:两种方法:
- 网络发现法:确保安卓设备开启SMB服务且启用SSDP响应,在Windows资源管理器地址栏输入
smb://[设备IP]
搜索 - 映射驱动器法:在Windows执行
net use Z: \[IP]share /user:guest ""
将共享文件夹映射为Z