在 macOS 下使用 Samba 客户端连接共享文件夹有多种方法,以下是详细操作指南:
一、通过 Finder 图形界面连接(推荐)
-
打开 Finder
- 菜单栏 → 前往 → 连接服务器 (⌘+K)
- 或直接按 ⌘ + K 快捷键
-
输入 Samba 地址
smb://服务器IP/共享名
或使用主机名:
smb://hostname.local/共享名
-
认证连接
- 选择 注册用户
- 输入用户名/密码(Samba 账户)
- 勾选 在我的钥匙串中记住此密码 以便自动登录
-
访问共享
- 成功连接后共享会挂载在
/Volumes/共享名
- 在 Finder 侧边栏显示为网络设备
- 成功连接后共享会挂载在
二、命令行连接(终端)
方法 1:使用 mount_smbfs
# 基本语法
mount_smbfs //用户名@服务器IP/共享名 挂载点
# 示例
mkdir ~/sambashare
mount_smbfs //johndoe@192.168.1.100/myshare ~/sambashare
- 系统会提示输入密码
- 查看已挂载共享:
mount | grep smbfs
方法 2:使用 smbutil
(查看信息)
# 列出服务器共享
smbutil view //johndoe@192.168.1.100
# 查看服务器状态
smbutil statshares -a //192.168.1.100
三、断开连接
-
图形界面:
- Finder 中点击共享文件夹旁的 弹出 按钮 (⏏)
-
命令行:
umount /Volumes/共享名 # 或自定义挂载点
四、高级配置
1. 挂载时指定选项
mount_smbfs -o nobrowse,soft //user@server/share ~/mountpoint
常用选项:
nobrowse
:不在 Finder 显示(仍可通过路径访问)soft
:软挂载(网络中断不冻结系统)file_mode=0644
:文件权限dir_mode=0755
:目录权限
2. 自动挂载(开机连接)
编辑 /etc/fstab
:
//username@server/share /Volumes/share smbfs nobrowse,soft,noauto 0 0
注意:需先创建
/Volumes/share
目录
3. 使用 Kerberos 认证(企业环境)
kinit user@DOMAIN.COM # 获取 Kerberos ticket
mount_smbfs -k //server/share ~/mountpoint
五、故障排查
1. 连接失败
- 检查网络:
ping 192.168.1.100
- 验证服务:
smbutil -N //192.168.1.100 # 测试匿名访问
2. 认证错误
# 清除钥匙串记录
security delete-internet-password -l "smb://server" # 删除保存的密码
3. 协议兼容问题
如果服务器使用 SMB1(老旧设备),需启用 macOS 兼容支持:
# 启用 SMB1 客户端(不推荐安全风险)
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server AllowSmb1 -bool true
4. 日志查看
# 实时监控 SMB 日志
log stream --predicate 'process == "smbd" || process == "nmbd"' --level debug
六、替代工具推荐
-
专业客户端:
- Mountain Duck(挂载为本地磁盘)
- ForkLift(双窗口文件管理器)
-
命令行工具:
# 安装增强版 SMB 工具 brew install cifs-utils samba
七、连接 Windows 共享
方法与 Samba 完全相同,地址格式:
smb://windows-pc-name.local/C$ # 访问 C 盘
smb://admin@192.168.1.50/Documents # 带认证
提示:macOS Ventura (13.x) 及以上默认使用 SMB3 协议,兼容性最佳。旧系统建议升级到最新 macOS 版本获得更好 SMB 支持。
发表回复