Ubuntu下通过samba与Windows共享目录踩坑记
2019-06-02
前言
搞了个Ubuntu虚拟机来当开发环境,期望是能够Windows下撸码、Ubuntu下运行
起初用的是vmware自带的共享文件夹功能,但是由于一些奇奇怪怪的权限问题(比如执行 yarn 时报错)踩坑无数,最终放弃了这一方案
改为文件夹原生就在Ubuntu里,通过samba共享给宿主机Windows读写,以此解决权限问题
我的Linux水平确实非常菜,还望各位不吝赐教
安装samba
sudo apt-get install samba samba-common
# 创建一个目录用于共享,例如
sudo mkdir /www/wwwroot
# 无脑给权限
sudo chmod 777 /www/wwwroot
这里就踩到了第一个坑,光给共享目录(/www/wwwroot)权限还不够,上级目录(/www)也要给对应权限才行
# 为samba添加用户。回车后还需要输入密码
sudo smbpasswd -a mokeubuntu
# 编辑samba配置文件
sudo vim /etc/samba/smb.conf
将以下内容填写到配置文件最尾部
[wwwroot]
path = /www/wwwroot
browseable = yes
available = yes
writable = yes
create mask = 0700
directory mask = 0700
# 然后重启samba服务
sudo service smbd restart
然后,在宿主Windows的资源管理器地址栏或“运行”中输入 \ + 虚拟机IP(例如 \\192.168.132.130
),输入你上面添加的用户名和密码即可看到这个 wwwroot
文件夹了
什么?你看不到?那就对了,我也一样
启用Windows SMB功能
Win10自带的 CIFS 文件共享支持 默认没有启用,因此无法访问samba共享出来的文件夹
进入宿主Windows设置,搜索 Windows 功能,选择 启用或关闭Windows功能,在弹窗中下拉找到 SMB 1.0/CIFS File Sharing Support
(或CIFS 文件共享支持),勾选确认重启即可、
怎么样,能访问了吗?
还不行?
配置Ubuntu的防火墙
折腾了半天,才想起来自己启用过防火墙,难怪死活无法访问
# 看看是不是启用了防火墙
sudo ufw status
# 要么直接禁掉它
sudo ufw disable
# 要么放行CIFS所用的端口
sudo ufw allow 445
sudo ufw reload
最后,终于可以在Windows下读写这个wwwroot目录了,可喜可贺、可喜可贺
太感谢了.全靠你才搞定
推荐上docker 省心
可以参考一下https://pch18.cn/archives/103.html
文章不错
VS Code Insiders 的 Remote Development插件支持WSL、各种远程撸码了(逃
在写PHP这件事上,VSC就是屑(暴言
这个我不知道哎,平时重度用VSCode,不知道PHP主要用什么IDE
真心推荐OMV,OpenMediaVault,基于Debian,NAS的功能非常好用稳定。你可以在Debian的基础上直接安装OMV程序,虽然不知道Ubuntu支持不支持……
nas系统吗……好像又没必要到这个地步