首页 > 代码库 > 嵌入式 VM中linux与windows共享文件夹

嵌入式 VM中linux与windows共享文件夹

VM中linux与windows共享文件夹 zt

介绍的是主机是windows,客户机是linux下的设置。

  1,安装vmtools for linux

  选择vmware workstation 程序菜单中vm>install vmware tools ……

  启动guest电脑中的linux,执行:

   mkdir /mnt/cdrom
   mount /dev/cdrom /mnt/cdrom
   cd /mnt/cdrom
   tar -xzvf vmwareTools-5.0.0-12124.i386.tar.gz -C /tmp (把安装文件解压到/tmp)
   cd /tmp/vmware-tools-distrib
   ./vmware-install.pl

  在这里,安装程序会询问一系列的设置问题,多数情况下,安装按默认配置就可以正常工作。因此,对每一个问题建议按回车选择默认配置,或者输入默认的提示路径按回车就ok了。运行完后,可以进入 /mnt 目录下,应该可以看到多了个文件夹hgfs了。

  2,设置host computer共享的目录

  在ghost computer中切换到windows桌面,选择vmware workstation程序菜单中

  VM>Settings>Options>Shared Folders>Properties

  点击对话框右下的“add”按钮,点击“下一步”,在文本框“name”中输入共享目录的名字(比如你想共享D盘,你输入有一个共享名字,随便什么名 字都没关系只是个符号而已。然后你选中对应的一个盘符或者文件也可以。这个盘或文件夹就是winds和linux共享的文件了。在两个系统中将会都可以看 到。)

  3,shared folder目录的使用

  切换到ghost computer的linux系统,执行:

   cd /mnt/hgfs
   ls

  可以看到里面有winds下你共享的文件夹或者盘符了。并且可以直接使用。在winds和linux下都可以进行读写操作。同时你还会发现以前一直要用ctrl+alt来切换的鼠标,在装好了这个工具好,鼠标可以自由的切换咯。

首先在建立一个挂载目录。
sudo mkdir /mnt/share
然后就把共享目录持载进去。
服务器:192.168.6.84
共享名:gg
用户名:administrator
密 码:123
命令如下:
sudo mount //192.168.6.84/gg /mnt/share/ -o iocharset=utf8,username=administrator,password=123,dmask=777,fmask=777,codepage=cp936,uid=0
加上iocharset=uf8与codepage=cp936。这样挂载好了后,就可以使用了,可以解决中文文件名的乱码问题。
另说:
假定您的网络连接已经正确设定好。
网络主机的 IP: 192.168.0.1
网络主机的使用者名称: myusername
网络主机的登录密码: mypassword
分享中的目录名称: linux
主机上要挂载的目录: /media/sharename
要挂载网络共享目录时
sudo mkdir /media/sharename
sudo mount //192.168.0.1/linux /media/sharename/ -o username=myusername,password=mypassword,dmask=777,fmask=777
要卸载网络共享目录时
sudo umount /media/sharename/
系统性的学习说明:
实现linux与windows互访总结
Smb是实现linux和windows互访的一座桥梁,所以就先让我们来了解一下什么是smb,它的主要功能,通过smb实现共享的方法及配置。在最后我们还介绍了怎样使用mount命令来挂载windows共享目录。
  一. Samba 简介
   Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
  大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;
  我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。
  二. samba服务器的启动及服务器配置文件
  Samba 有两个服务器,一个是smb,另一个是nmb;
  smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;
   而nmb是解析用的,它把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来。如果不打开nmb服务器的话,只能通过IP来访问,也就是说在windows的IE浏览器中输入linux计算机的ip才能访问,例如:\192.168.0.1 est,而输入linux的计算机名却不能进行访问,比如:\wangyh est。
  所以在安装完samba服务器后必须启动smb的服务。下面是启动、查看、关闭smb服务器的命令
  1.一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;
  [root@localhost ~]# /etc/init.d/smb start
  2.对所有linux系统来说,通用的方法就是直接运行smb 和nmb;进入终端在root权限下把samba所在的目录敲到命令行里即可,但是您要知道smb和nmb所在的目录;如果是自己编译的Samba ,其存放的目录您应该知道;
  例如:samba所在的目录为 /usr/sbin/smbd(nmbd),启动smb输入如下:
  [root◎wangyh:/home/wangyh]#/usr/sbin/smbd
  [root◎wangyh:/home/wangyh]#/usr/sbin/nmbd
  3.启动完后还要检查一下samba服务器是否运行起来,查看命令如下:
  [root◎wangyh:/home/wangyh]#/pgrep smbd
  [root◎wangyh:/home/wangyh]#/pgrep nmbd
  4.关闭smb服务器,命令如下:
  [root◎wangyh:/home/wangyh]#/pkill smbd
  [root◎wangyh:/home/wangyh]#/pkill nmbd
   smb的配置文件及服务器端和客户端的工具
  1.如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件 smbpasswd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba 服务器启动时自动生成的;
   2.在smb服务器中几个主要常用的服务器端工具为smbd、nmbd、smbpasswd;客户端为smbmount(在ubuntu l 6.06的内核中没有smbmount,所以它不支持这个命令,但可以用mount 加参数的形势来实现挂载),smbclient等。
  实现 ubuntu linux 6.06 与windows系统的互访
  1.Windows 2000/xp/2003访问ubuntu linux 系统(已测试)
  第一步:安装samba,smbclient,smbfs
  命令: [root◎wangyh:/home/wangyh]# apt-get install samba
  [root◎wangyh:/home/wangyh]# apt-get install smbclient
[root◎wangyh:/home/wangyh]# apt-get install smbfs
第二步:更改smb.conf 文件
  对于新手来说在改之前最好将smb.conf文件进行备份。
  修改smb.conf文件用vi 或gedit命令都可以,如下所示:
  [root◎wangyh:/home/wangyh]# vi /etc/samba/smb.conf
  [root◎wangyh:/home/wangyh]# gedit /etc/samba/smb.conf
  在[global]这段中修改的内容如下:
  在[global]下面加入 两行
  doc charset=UTF-8
  unix charset=UTF-8
  workgroup=WORKGROUP
  在下面添加一行 netbios name=wangyh(这里填本机的计算机名)
  找到passwd program行将其改为
  passwd program=/etc/samba/smbpasswd
  找到 security行将其改为
  security=user
  找到[homes]段修改内容如下
  browseable=yes
  writable=yes
  如果我们想在文件中创建共享文件夹,我们只需要在后面写入段
  [wangyh](共享文件)
  path=/home/wangyh(共享文件夹路径)
  browseable=yes
  public=yes(在网上邻居中显示)
  writable=yes
  当然在ubuntu linux系统中点击系统->系统管理->共享文件夹,在这里选择共享的文件夹也是可以,设置完后,系统自动将你所设置的共享信息写入smb.conf文件中。
  注解:
  workgroup 就是Windows中显示的工作组;
  netbios name 就是在Windows中显示出来的计算机名;
   security 这是验证和登录方式,这里我们用了user ;验证方式有好多种,这是其中常用的一种;一种是share的验证方式,这种方式就是不用设置用户和密码了,但这种方式的安全级别很低,一般我们不采用这种方式;还有一种是server,server模式要求用户的认证由Samba服务器或NT服务器来完成。
  Browseable为是否可以浏览,browseable=yes,为可浏览,我们在工作组下就能看到共享文件夹。如果您browseable=no ,那末文件夹在工作组中就不显示。
  writeable 为是否可写,这里我设置为可写;
  第三步:添加smb用户,并设置linux用户密码
  这里要注意的是在添加smb用户之前,必须将其添加成ubuntu linux 用户,命令如下:
  1)添加成linux用户
  adduser –a heqing(heqing为用户名)
  enter new UNIX password:*****
  retype new UNIX password:*****
  剩下的项按提示输入即可
  2)添加成smb用户,并设置smb密码
  smbpasswd -a heqing(已存在的linux用户)
  NEW SMB passwd:******
  Retype NEW SMB passwd:******
  添加成功
最后要说明的是heqing用户的linux用户密码可以与smb密码不相同
第四步:设置windows客户端
  基本完成上面的配置后windows就可以访问ubuntu linux系统中的共享文件夹了,如果windows 在网上邻居或通过IE看不到的话,要查看两点
  在windows终端ping ubuntu linux系统的主机ip,如果可以ping通,看下一条。
  1) 查看windows防火墙中是否禁止其他计算机访问本机或是否允许ping入。如果可以,再看下一条。
  查看windows 用户设置中的guest用户是否禁用,如果禁用,将其解除即可。
  通过以上设置在windows计算机的网上邻居或IE都可以看到ubuntu linux系统的共享文件,并可以对其修改,粘贴新文件,复制原有文件等。
  2.Ubuntu linux 系统访问windows xp/2003/2000系统
  在我的测试过程中,实现ubuntu linux系统访问windows系统的方式有3种,我将这几种方式说明如下:
  第一种:用smb访问
   如果在ubuntu linux系统终端pingwindows主机的ip地址可以ping通,且windows计算机中有共享的文件夹,则打开位置下的网络服务器,点击界面 中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框, 将我们上面设置smb的用户名和密码输入就可以进行访问。
  第二种:用ubuntu 系统自带的连接到服务器功能访问
  在位置中启动连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷。
  我们可以像访问ubuntu系统中的磁盘一样来访问它,同样在访问的时候要输入smb的用户名和密码。
  第三种:用mount’挂载windows的共享目录到本地磁盘
  首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind
  同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作
  以windows的ip为192.168.0.1,共享文件夹为share为例
  命令如下:
  mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
  有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题
   mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
  注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法
  第四种:使用smbclient 命令
  命令如下:
  smbclient –L //192.168.0.1/share -U wangyh
  password:输入smb用户wangyh的密码
  回车就可以用,用命令get下载文件,用put上传文件。
  注解:
  smbclient介绍:
  命令 说明
  ?或help [command] 提供关于帮助或某个命令的帮助
  ![shell command] 执行所用的SHELL命令,或让用户进入 SHELL提示符
  cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
  lcd [目录] 切换到客户端指定的目录;
  dir 或ls 列出当前目录下的文件;
  exit 或quit 退出smbclient
  get file1 file2 从服务器上下载file1,并以文件名file2存在本地机上;
  如果不想改名,可以把file2省略
  mget file1 file2 file3 filen 从服务器上下载多个文件;
  md或mkdir 目录 在服务器上创建目录
  rd或rmdir 目录 删除服务器上的目录
  put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2;
  mput file1 file2 filen 向服务器上传多个文件

 

一. Samba 简介 
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 

大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 

我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。 

二.  Samba的几个套件,安装及简单配置 
samba,samba-client, samba-common 
一句 sudo apt-get install samba samba-client 就能全部装上 
启动samba也很简单: sudo /etc/init.d/samba start 
设置samba的密码, 可以先添加samba用户, 必须是系统用户。 
smbpasswd -a yourname 

三. 互访 
1)windows访问ubuntu 
windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可, 鼠标右键点目录,选择sharing options, 够选share this folder,需要的话也可以够选下面的allow write 
这时在windows的网络邻居中的网络中查找就能找到共享目录了,通过//host也行 

2)ubuntu访问windows 

第一种:在ubuntu的网络中直接浏览访问 

位置->网络,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。 

第二种:用ubuntu 系统自带的连接到服务器功能访问 

位置->连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷,里面就是windows计算机的共享目录了。 
同样在访问的时候要输入smb的用户名和密码。 

第三种:用mount’挂载windows的共享目录到本地磁盘 

首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 
同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 
以windows的ip为192.168.0.1,共享文件夹为share为例 
命令如下: 
mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind 
有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 
mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 

注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 

第四种:使用smbclient 命令 
一般来讲先列出所有共享目录,命令如下: 
smbclient –L //192.168.0.1/ -U yourname 
输入smb的密码后,将看到共享目录列表。 
假设进入共享目录share,命令如下: 
smbclient //192.168.0.1/share -U yourname 
之后将看到一个smb:> 
已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 

五. 小结 
以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:http://linux.vbird.org/linux_server/0370samba.php#server_pkg 


嵌入式 VM中linux与windows共享文件夹