本人电脑环境是win10系统,在win系统下安装了一个VMware虚拟机,为ubuntu 20.04。由于工作需要,需要在windows下通过Source Insight等代码工程管理工具,添加虚拟机下的代码工程,然后在虚拟机下编译代码。基于这个需求,需要创建一个win和ubuntu能共享的文件夹。
首先做的是在win下创建共享文件夹,通过ubuntu去访问,但是存在问题,那就是ubuntu下存在链接文件,而win下的文件系统是不支持这种文件的,导致ubuntu下的工程总是出问题。后来改成了ubuntu下创建共享文件夹,win去访问共享文件夹。具体步骤如下。

1.右键虚拟机的“cjliu”,打开虚拟机设置,设置网络适配器为桥接模式。

ubuntu18 samba版本_ubuntu18 samba版本


2.打开虚拟机,进入命令框,安装软件

sudo apt-get install samba samba-common

ubuntu18 samba版本_ubuntu_02


3.编辑/etc/samba/smb.conf 文件

sudo vi /etc/samba/smb.conf

在文件结尾处添加如下内容(注意缩进格式,[Samba]顶到头,下面每行前缩进3个空格)

[share]

comment = share folder

browseable = yes

path = /home/<用户名>/share

create mask = 0700

directory mask = 0700

valid users = 用户名

force user = 用户名

force group = 用户名

public = yes

available = yes

writable = yes

说明:
[Samba]:为对外共享文件夹名字。

path:为自己ubuntu下需要共享的文件夹绝对路径路径(该路径必须在samb重启前手动创建好)

available = yes/no, available用来指定该共享资源是否可用。

browseable = yes/no,browseable用来指定该共享是否可以浏览

public = yes/no,public用来指定该共享是否允许guest账户访问

writable = yes/no,writable 指定客户端是否有写权限

valid users:客户端访问共享文件夹时需要输入的用户名。注:改名字必须与用户名相同,既命令输入框前的内容

directory mask = 0777设置共享文件夹权限,如果不设置,win客户端访问共建文件夹时,只能拷入文件,无法拷入文件夹

ubuntu18 samba版本_ubuntu_03

配置完成后可通过testparm命令测试配置合法性(下图表示配置正确)

ubuntu18 samba版本_服务器_04


4.配置客户端访问密码

sudo smbpasswd -a [user] #[user]为客户端访问使用的用户名,既/etc/samba/smb.conf 文件中配置的valid users值

输入两次密码。

ubuntu18 samba版本_ubuntu18 samba版本_05


5.重启

sudo service smbd restart

ubuntu18 samba版本_用户名_06


6.使用win连接该共享文件夹

在ubuntu上通过ifconfig查看ubuntu的ip

ubuntu18 samba版本_服务器_07


打开win下文件夹,在输入框中输入\192.168.20.102即可进入输入用户名密码界面,输入后即可进入共享文件夹

ubuntu18 samba版本_用户名_08