虚拟机其实已经自带了文件共享功能。这其实是一种映射关系,一种双向映射的关系,把宿主机的文件夹通过vm-tools映射到了虚拟机系统里,同时虚拟机里也可以映射到宿主机,中间的媒介是vm-tools。这种功能比使用ftp等来进行传输文件以达到共享文件的方法更为简单高效。
首先保证你的虚拟机已经安装并可以成功运行”vm-tools”。
你可以按照kali安装vm-tools 来安装并运行”vm-tools”,Linux主流版本均可按照此教程进行设置。
首先对虚拟机进行设置。
打开VMware虚拟机,打开需要进行文件共享的虚拟机。
双击”硬盘”
依次选择”选项”,”共享文件夹”。共享文件夹默认是禁用的,我们需要手动启用。
选择”总是启用”,点击”添加”。
我们到自己电脑硬盘上自己创建一个用于给虚拟机共享文件的文件夹。
我个人在E盘创建了一个名为”share”的文件夹用于共享文件。
在”主机路径”里选择你创建用于共享文件的那个文件夹。
然后点击”下一步”,设置共享文件夹的属性,”只读”这个属性按照个人需求进行选择(这里我选择了”只读”)。
但是有一点需要提醒,设置”只读”权限是为了保证安全,防止你共享的文件在宿主机上具有可操作的权限,只读权限可以在一定限度内保证虚拟机与宿主机之间的安全隔离。但是虽然安全了,由于是”只读”权限,一些文件在共享时候会遇到不能共享或者其他的问题。当然这个属性也是可以随时修改的。一定要记得传输一些安全可控的文件。
现在打开虚拟机里的系统。
然后我们需要查看一下Linux的内核版本。1
bingyu@ubuntu:~$ uname -r
然后根据你的内核版本号来确定使用下表哪个命令。
命令语法
4.0 之前的 Linux 内核 |
4.0 及更高版本的 Linux 内核
|
说明 |
|
mount -t vmhgfs .host:/ /home/user1/shares |
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other |
将所有共享装载到 /home/user1/shares |
|
|
/usr/bin/vmhgfs-fuse .host:/foo /tmp/foo -o subtype=vmhgfs-fuse,allow_other |
将名为foo的共享装载到/tmp/foo |
|
mount -t vmhgfs .host:/foo/bar /var/lib/bar |
/usr/bin/vmhgfs-fuse .host:/foo/bar /var/lib/bar -o subtype=vmhgfs-fuse,allow_other |
将共享foo中的子目录bar装载到 /var/lib/bar |
我们此时需要在Linux上也创建一个用于共享的目录。
1 | bingyu@ubuntu:~$ sudo mkdir share |
我是高于4.0的内核版本。对于 Linux 内核版本 4.0 或更高版本,输入命令 /usr/bin/vmhgfs-fuse -h
可列出可用的选项。1
bingyu@ubuntu:~$ sudo /usr/bin/vmhgfs-fuse .host:/ /home/bingyu/share -o subtype=vmhgfs-fuse,allow_other
命令中host:/
后接你创建的共享目录,用绝对路径。
此时,已经完全设置完毕,我们现在可以测试一下是否可以共享文件。
我现在把一张图片复制到windows上的share文件夹。(当然任何文件都是可以共享的)
我们进入Linux的share目录看看有没有。(这个时候会多出一层目录)1
bingyu@ubuntu:~$ cd /share/share
我们可以打开看看是不是刚才的图片。1
bingyu@ubuntu:~$ eog TIM图片20180917104312.jpg
然后,我们再测试一下虚拟机里的文件是否可以共享给宿主机。
我在/home/bingyu/share/share
里创建一个测试文档。
然后打开宿主机的共享文件夹,查看是否已经共享。
关于共享文件的更多用法可以参考VMware使用共享文件夹
本文作者:冰羽
本文地址: https://bingyublog.com/2018/09/28/linux共享/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!