如何将Multipass内的文件夹共享至macOS主机并支持跨端编辑
操作前提
先执行命令获取Multipass实例的IP和名称,后续步骤会用到:multipass list
方法一:SMB共享(适合长期固定使用,读写性能好)
- 进入Multipass实例终端
执行:multipass shell <你的实例名称> - 实例内安装Samba服务
执行:sudo apt update && sudo apt install samba -y - 配置共享目录权限,假设你需要共享实例内的
/home/ubuntu/work文件夹:
执行:sudo chmod 775 /home/ubuntu/work - 编辑Samba配置文件:
执行:sudo nano /etc/samba/smb.conf
在文件末尾添加如下配置:[multipass_shared]
comment = Ubuntu 20.04 shared folder
path = /home/ubuntu/work
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
valid users = ubuntu - 为Samba的ubuntu用户设置访问密码:
执行:sudo smbpasswd -a ubuntu,按提示输入两次自定义的访问密码 - 重启Samba服务生效配置:
执行:sudo systemctl restart smbd nmbd - Mac端挂载共享目录:
打开Finder,按Command+K快捷键,在弹出的窗口地址栏输入smb://<你的实例IP>/multipass_shared,点击连接后输入刚才设置的ubuntu用户名和Samba密码即可。挂载后可以直接在Finder里修改对应文件,修改会实时同步到Multipass虚拟机内。
方法二:SSHFS挂载(适合临时使用,无需额外配置服务)
- Mac端先安装依赖(已安装Homebrew的前提下):
执行:brew install sshfs macfuse - Mac本地新建空目录作为挂载点,比如:
执行:mkdir ~/multipass_mount - 执行挂载命令,将实例内的
/home/ubuntu/work目录挂载到本地挂载点:
执行:sshfs ubuntu@<你的实例IP>:/home/ubuntu/work ~/multipass_mount
输入Multipass实例的ubuntu用户密码即可完成挂载,不需要额外配置。 - 不需要使用时执行卸载命令:
umount ~/multipass_mount
常见问题排查
- 若SMB连接失败,可先在实例内执行
sudo ufw allow samba放行Samba服务的防火墙规则后重试 - 若SSHFS挂载后出现读写权限异常,可在挂载命令添加权限参数:
sshfs -o default_permissions ubuntu@<你的实例IP>:/home/ubuntu/work ~/multipass_mount
内容的提问来源于stack exchange,提问作者GetUnstuck
相关产品推荐
相关产品推荐

