导读:本期聚焦于小伙伴创作的《虚拟机Ubuntu与Windows主机文件互传指南:FTP与SMB共享文件夹配置详解》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《虚拟机Ubuntu与Windows主机文件互传指南:FTP与SMB共享文件夹配置详解》有用,将其分享出去将是对创作者最好的鼓励。

虚拟机Ubuntu访问Windows的FTP或共享文件夹的解决方案

在进行软件开发或系统测试时,我们经常会在虚拟机中运行Ubuntu系统,而宿主机则是Windows。在这两种系统之间进行文件传输和共享是非常高频的需求。本文将详细介绍两种主流且高效的解决方案:通过FTP服务访问以及通过SMB共享文件夹访问。

一、方案一:通过FTP服务访问Windows文件夹

FTP(文件传输协议)是一种经典的文件共享方式。我们可以将Windows作为FTP服务端,在Ubuntu中进行连接和文件操作。

1. Windows端配置FTP服务器

Windows系统自带了IIS中的FTP服务功能,配置步骤如下:

  1. 打开“控制面板” -> “程序” -> “启用或关闭Windows功能”。

  2. 勾选“Internet Information Services”下的“FTP服务器”(包括FTP服务和FTP扩展性),点击确定安装。

  3. 安装完成后,打开IIS管理器,右键“网站”,选择“添加FTP站点”。

  4. 设置FTP站点名称和物理路径(即你想共享的文件夹)。

  5. 绑定IP地址选择“全部未分配”,SSL选择“无SSL”。

  6. 身份验证选择“基本”,授权允许特定用户,并设置读写权限。

如果需要对FTP访问进行IP限制,可以在IIS的FTP IPv4地址和域限制中进行配置,相关的web.config示例规则如下:

<configuration>
  <system.ftpServer>
    <security>
      <ipSecurity allowUnlisted="false">
        <add ipAddress="192.168.1.0" subnetMask="255.255.255.0" allowed="true" />
      </ipSecurity>
    </security>
  </system.ftpServer>
</configuration>

配置完成后,请确保Windows防火墙放行了FTP端口(默认21端口)。

2. Ubuntu端连接FTP

在Ubuntu中,你可以使用命令行工具或图形界面来访问FTP服务器。

命令行方式:

首先安装FTP客户端工具:

sudo apt update
sudo apt install ftp

连接到Windows FTP服务器:

ftp 192.168.x.x
# 根据提示输入Windows的用户名和密码
# 常用命令:ls(查看列表), get file.txt(下载), put file.txt(上传), bye(退出)

图形界面方式(Nautilus文件管理器):

打开Ubuntu的文件管理器,在左侧边栏底部的“其他位置”中,在底部的“连接服务器”输入框中输入:

ftp://192.168.x.x

回车后输入Windows的用户名和密码即可像操作本地文件夹一样通过拖拽传输文件。

二、方案二:通过SMB共享文件夹访问Windows

SMB(服务器消息块)协议是局域网文件共享的标准协议。相比FTP,SMB配置更简单,且无需额外开启后台服务,Windows的文件夹共享本身就是基于SMB协议,访问体验更加无缝。

1. Windows端设置共享文件夹

  1. 右键点击需要共享的文件夹,选择“属性”。

  2. 切换到“共享”选项卡,点击“高级共享”。

  3. 勾选“共享此文件夹”,点击“权限”。

  4. 添加“Everyone”用户,并根据需要勾选“读取”或“更改”(读写)权限。

  5. 点击“安全”选项卡,确保“Everyone”用户同样拥有相应的NTFS权限,否则即使共享了也无法访问。

2. Ubuntu端访问共享文件夹

图形界面访问:

在Ubuntu文件管理器的“连接服务器”中输入:

smb://192.168.x.x/share_name

其中share_name是你在Windows中设置的共享名称。

命令行挂载访问(推荐用于长期开发):

如果需要频繁访问,将共享文件夹挂载到Ubuntu本地目录是最佳选择。首先安装cifs-utils工具包:

sudo apt update
sudo apt install cifs-utils

创建一个本地挂载点:

sudo mkdir -p /mnt/win_share

执行挂载命令:

sudo mount -t cifs //192.168.x.x/share_name /mnt/win_share -o username=your_win_user,password=your_win_password,vers=2.0

如果希望开机自动挂载,可以编辑/etc/fstab文件,在末尾添加一行:

//192.168.x.x/share_name /mnt/win_share cifs username=your_win_user,password=your_win_password,vers=2.0 0 0

注意:为了安全,不建议将密码明文写在fstab中。可以创建一个凭证文件/etc/.smbcredentials

username=your_win_user
password=your_win_password

修改该文件的权限为仅root可读写:

sudo chmod 600 /etc/.smbcredentials

然后修改fstab中的挂载参数为:

//192.168.x.x/share_name /mnt/win_share cifs credentials=/etc/.smbcredentials,vers=2.0 0 0

三、常见问题与排查

  1. 网络不通:确保虚拟机网络模式为桥接模式(Bridged)或NAT模式且已正确配置网络。双方互相ping IP测试连通性。

  2. 权限拒绝:检查Windows文件夹的共享权限和NTFS安全权限,确保访问用户拥有足够的权限。对于SMB挂载,注意指定正确的vers版本(Windows 10/11通常建议使用2.0或3.0)。

  3. 防火墙拦截:在Windows防火墙中放行“文件和打印机共享”(SMB端口445)以及FTP端口21。

四、总结

FTP方案适合需要严格控制读写权限和隔离性的场景,但配置步骤相对繁琐;SMB共享文件夹方案配置简单,与Windows原生集成度高,且支持命令行直接挂载到本地目录,更适合日常开发中频繁、无缝的文件交互。建议开发者优先使用SMB共享文件夹方案,以提高跨系统协作的效率。

虚拟机文件共享Ubuntu访问Windows FTP配置 SMB共享 跨系统文件传输

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。