许多情况下,我们都在windows上面编辑代码,并在linux上编译代码。
而Samba主要用来在Linux与windows之间共享文件,在windows上编辑后,就可以立即在linux进行编译,省去了文件拷贝这一操作步骤,大大加快了开发效率。
1、安装Samba
# sudo apt-get install samba
安装遇到的问题1:找不到软件包。
解决方法:更新源列表,然后安装。
安装遇到的问题2:依赖问题导致无法安装。
解决方法:先安装提示的依赖包,再安装。实在解决不了尝试先安装aptitude,再用aptitude装samba。
# sudo apt-get install aptitude
# sudo aptitude install samba
2、修改配置文件
# sudo vim /etc/samba/smb.conf
用vi 或用gedit都行,但都需要管理员权限。
在文件末尾添加如图所示内容:
其中:[ ]内为Samba共享的名称,windows连接时根据该名字来连接。
path 为要共享的目录的绝对路径。
available 指定该共享资源是否可用
browseable 可读
writeable 可写
public 与guest ok含义相同,指定该共享是否允许guest账户(匿名)访问
当然也可以设置指定用户输入密码访问,可参考该博客的配置文件常用参数详解进行配置:https://www.jianshu.com/p/f7fb4ad09c11
配置完成后记得给予共享目录权限:
# sudo chmod 777 /home/gec/projects -R
3、开启服务
启动:sudo service smbd start
重启:sudo service smbd restart
停止:sudo service smbd stop
4、建立共享连接
首先确认windows与ubuntu互ping能够成功。
右键我的电脑->映射网络驱动器->文件夹:\\server\share
其中server为ubuntu的ip地址,share为共享名称。
如下图所示:
点击完成,可看到网络位置多出一个磁盘,双击打开即可像使用windows本地磁盘一样,对虚拟机共享目录下的文件进行操作。
连接遇到的问题:samba服务起来后,网络位置能够显示盘符,但是双击无法进入,提示无权限。
产生的原因:samba没有更新或没有安装相应依赖。
解决方法:
更新软件:
# sudo apt-get upgrade
安装samba-dev工具包(亲测解决上述问题):
# sudo apt-get install samba-dev
其他可能引起连接失败的原因:防火墙的拦截,关闭防火墙即可。
Windows防火墙设置:控制面板\系统和安全\Windows 防火墙\自定义设置
查看ubuntu防火墙状态:# sudo ufw status
若打开,则关闭ubuntu防火墙状态:# sudo ufw disable