在做嵌入式开发的时候,很多童鞋都是在windows下用虚拟机来安装Linux系统来进行开发的,这样子,虚拟机跟PC机之间文件传递就成了一个问题。在VMware中可以直接设置windows下的共享文件,然后再Linux下mount那个共享文件夹来实现文件夹之间的互通。但是经过我的尝试,有时候会出现不能mount的情况,可能是VMware版本的问题。
在这样的情况下,我不想在PC机上面开共享文件夹,这样子觉得不是很安全,而且共享了文件夹也要在Ubuntu里面设置一番;所以我选择了在Ubuntu里面开共享,然后在windows下做一个映射。
首先,我用的虚拟机是VirtualBox,安装的是Ubuntu10.04,使用的网络连接方式是Bridge Adapter。使用的是samba共享,下面是我设置共享的步骤:
1、首先是安装samba
sudo apt-get install samba sudo apt-get install smbfs
2、假设我们要共享的是文件夹:/home/mikit/share
首先创建文件夹,并更改属性
sudo mkdir /home/mikit/share sudo chmod 777 /home/mikit/share
3、备份,编辑smb.conf配置文件,以实现用户网络访问
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo gedit /etc/samba/smb.conf
4、编辑smb.conf文件,找到代码"security = user",大约在105行左右
把"security = user"下面添加代码,并把代码"security = user"屏蔽掉:
security = user username map = /etc/samba/smbusers
5、将下列几行代码添加到文件的尾部,假设用户名是newsfan,共享名是Share
[Share] comment = Share Folder with username and password path = /home/mikit public = yes writable = yes valid users = newsfan create mask = 0700 directory mask = 0700 force user = mikit force group = root available = yes browseable = yes
6、找到[global],修改添加以下内容:
workgroup = WORKGROUP display charset = UTF-8 unix charset = UTF-8 dos charset = cp936
修改以上代码是为了能实现中文支持,可以根据实际情况自行修改,workgroup=WORKGROUP要根据你PC机的实际工作组修改即可。如果还是无法支持中文,可以将里面的UTF-8改成cp936,根据实际情况改,这个自己看着办。
7、添加newsfan这个网络访问账户,如果你没有这个账户,那么:
sudo useradd newsfan
上面代码只是在本机上添加了一个账户,但是没有本机登录密码,是无法登陆到Ubuntu的,samba的登陆密码可以跟本地登陆密码不同,所以执行下一步。
8、现在为新建的账户添加一个密码(newsfan是网络访问用的账户):
sudo smbpasswd -a newsfan
输入两次密码。
9、新建一个文件 "/etc/samba/smbusers"
sudo gedit /etc/samba/smbusers
并且在新建的文件中添加以下代码,并保存(newsfan是网络访问用的账户):
newsfan = "network username"
10、如果以后要修改访问密码,可以使用下面的代码(newsfan是网络访问账户):
sudo smbpasswd -a newsfan
11、现在退出重新登陆或者重启电脑,即可:
sudo testparm sudo /etc/init.d/samba restart
如果第二个命令无法实现也无所谓。
12、现在在windows下设置映射;
1)、打开我的电脑,在 工具>映射网络驱动器
2)、在文件夹文本框里填入虚拟机的IP,//192.168.1.149/share,确定
3)、输入账号、密码即可,账号就是我们新建的网络账号newsfan,密码就是在设置密码的时候输入的密码。
本文参考资料:http://forum.ubuntu.org.cn/viewtopic.php?t=20852
http://blog.csdn.net/mikit/article/details/6027528