如何与虚拟机交互文件

这篇文章将为大家详细讲解有关如何与虚拟机交互文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

为萝北等地区用户提供了全套网页设计制作服务,及萝北网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、萝北网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

利用虚拟机传输文件的方法:

  1. 使用FTP协议

  2. 使用磁盘工具

  3. 使用SMB协议(重点)

使用FTP协议

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

使用FTP协议,需要安装FTP客户端。比如Xftp,FileZilla

也可使用Xshell、MobaXterm等软件的FTP功能。

一般从镜像安装好Linux操作系统,ftp服务是配置好的。如果没有可以使用如下方法配置:

安装vsftpd服务器

  
    
  
  
  sudo apt-get install vsftpd

配置vsftpd.conf文件

  
    
  
  
  sudo vi /etc/vsftpd.conf

需要修改的内容如下:

  1. anonymous_enable = NO # 不允许用户匿名登录

  2. local_root = /home/username/ftp # 置顶ftp上传和下载目录

  3. local_enable = YES # 允许本机登录

  4. chroot_list_enable = YES chroot_list_file = /etc/vsftpd.chroot_list # 允许vsftpd.chroot_list中的用户登录服务器

  5. write_enable = YES # 允许上传文件到服务器

  6. sudo vim /etc/vsftpd.chroot_list # 建立文件添加用户

  7. 将/home/username/ftp减去w权限,即文件夹的拥有者不能拥有写全向

  8. 在/home/username/ftp中建立一个share文件夹

  9. sudo /etc/init.d/vsfftpd restart # 重启服务,使配置生效

PS:SFTP协议

FTP是一种文件传输协议,一般是为了方便数据共享的。包括一个FTP服务器和多个FTP客户端。FTP客户端通过FTP协议在服务器上下载资源。而SFTP协议是在FTP的基础上对数据进行加密,使得传输的数据相对来说更安全。但是这种安全是以牺牲效率为代价的,也就是说SFTP的传输效率比FTP要低(不过现实使用当中,没有发现多大差别)。

使用磁盘工具

比如:DiskGenius,Ext2IFS等工具。

使用DiskGenius需要在虚拟机关机状态下使用。使用方法是:

  • 打开软件

  • 硬盘-->打开虚拟硬盘文件 如:G:\VMwareSys\U16\Ubuntu16.04.vmdk

  • 打开之后,可以复制文件进去出来了。

  • Win10上打开Linux系统虚拟硬盘有些问题。可能需要配置bios。

  • win10上打开windows系统的虚拟硬盘没问题。

SMB协议

SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。

SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。

首先在需要在虚拟机上安装samba软件。

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

PS:演示环境为DeepinLinux!

sudo apt-get install smaba smaba-common

创建一个用来交互的目录,比如我:/home/lzc/share

将目录的权限改为777

sudo chmod 777 /home/lzc/share

然后修改samba的配置文件:

sudo vim /etc/samab/smb.conf

在末尾添加如下几行:

[share]
   path = /home/lzc/share # 请用绝对路径
   available = yes
   browsable = yes
   # public = yes # 不需要密码
   writable = yes

给smaba创建账户:

sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a username

重启samba让配置生效:

sudo /etc/init.d/smbd restart

在win下如何访问?

打开资源管理器,在地址栏输入虚拟机的“\\”+IP地址,输入账号密码即可,如果不想费事 ,那就将下面内容中的public打开

[share]
   path = /home/lzc/share # 请用绝对路径
   available = yes
   browsable = yes
   public = yes # 不需要密码
   writable = yes

这个时候,打开资源管理器,然后网络,可以看到多出来了一个虚拟机。

关于“如何与虚拟机交互文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章名称:如何与虚拟机交互文件
分享路径:http://hbruida.cn/article/ihchod.html