如何在Windows和Linux间共享文件[译文219]

时间: 2014-06-17 / 分类: 软件网络 / 浏览次数: 12,873 / 22个评论 发表评论

我们之前提到过很多种临近计算机共享文件的方法,不过在 Windows 和 Linux 之间共享可能还要更复杂一些。这篇文章将介绍在两种操作系统之间如何双向映射来进行无缝文件共享。

从根本上来说本文分为两个部分:在 Windows 中创建共享目录并配置 Linux 来访问,以及在 Linux 中创建共享目录并配置 Windows 访问。根据你的实际情况选择恰当的设置指南,如果你想双向共享文件,也不是不可。本指南使用的操作系统是 Windows 8.1 和 Ubuntu,不过我们可以确保在其他版本的 Windows 和 Linux 系统基本也可适用。

在 Windows 系统上创建共享

要在 Windows 中创建共享目录供 Linux 访问,首先要确保你的网络设置配置为允许来自其他计算机的联接。打开网络和共享中心。

在网络和共享中心窗口,点击“更改高级共享设置”。

针对当前的配置文件,调整下列两项设置:

  • – 启用网络发现
  • – 启用文件和打印机共享

配置完成后点击“保存修改”。这样我们就可以在 Windows 电脑创建一个位置,使得 Linux 机器看到文件以及向其中复制内容。对于共享什么没有任何限制(理论上你甚至可以共享整个硬盘),不过我们这里仅贡献桌面上的一个叫做“共享”的目录。

右击你要在网络中共享的目录,点击属性。在共享标签页点击高级共享。

选中“共享此文件夹”复选框,然后点击底部的“权限”按钮。

在共享权限窗口,你可以对指定账户限制访问,要使所有用户都能访问该目录,只需要对 Everyone 用户完全控制权限即可。这会使得任何人都能读写共享目录。如果你要限定指定账户的访问权限,只需要移除 Everyone 用户并添加要赋予访问权限的用户。注意:这些账户是在 Windows 电脑上,而不是 Linux。

修改完成后,点击访问权限和高级共享窗口的确定按钮,饭后属性窗口,点击安全标签。

要使 Linux 用户能够访问共享目录,需要在这里同共享设置一样进行同样的权限配置。如果两边的设置不匹配,最严格的限定设置会起作用。如果你想要配置的用户已经设置了安全权限(例如图中的 geek 账户),点击关闭就可以了。

如果你需要添加一个用户,比如 Everyone,点击编辑。

在下一个窗口中点击添加按钮,输入用户名,点击确定。

在所有打开的窗口上点击确定,这样共享目录就设置完成,可以通过 Linux 电脑访问了。

从 Linux 中访问 Windows 共享

你可以在 Linux GUI 中加载共享目录,也可以很容易地通过命令行访问。在这里用终端事例,是因为在不同的发行版中都可以适用。

要加载 SMB 共享,你需要安装 cifs-utils 包:

sudo apt-get install cifs-utils

然后,创建一个目录并将共享加载给它。在下面的例子中,我们将该目录加载到桌面上易于访问。

mkdir ~/Desktop/Windows-Share

sudo mount.cifs //WindowsPC/Share /home/geek/Desktop/Windows-Share -o user=geek

如上面的屏幕截图所示,会提示输入 Linux 机器的 root 用户密码,然后需要输入 Windows 用户“geek”的密码。命令执行结束之后,我们就可以查看 Windows 共享的内容并添加数据了。

如果你需要帮助理解加载命令,下面是个简单的分析:

sudo mount.cifs – 这是加载命令,用来设置加载一个 CIFS(SMB)共享。
WindowsPC – 这是 Windows 电脑的名称。在 Windows 的搜索框中输入“这台电脑”,右击选择属性,可以查看计算机名。

//WindowsPC/Share –这是共享目录的完整路径。
/home/geek/Desktop/Windows-Share – 这是要加载共享的位置。
-o user=geek – 这是用来访问共享目录的 Windows 用户名。

在 Linux 上创建共享

要在 Linux 上创建共享目录供 Windows 访问,首先要安装 Samba。

sudo apt-get install samba

安装之后,配置一个用户名及密码用来访问共享。

smbpasswd -a geek

注意:在这个例子中,我们使用“geek”是因为已经存在一个使用改名称的 Linux 用户——不过你可以使用任何想要的名字。

创建你想要共享给 Windows 电脑的目录。我们还是放在桌面上。

mkdir ~/Desktop/Share

现在,使用你喜欢的编辑器配置 smb.conf 文件。

sudo vi /etc/samba/smb.conf

滚动鼠标到文件最后,添加下列行:

[<folder_name>]
path = /home/<user_name>/<folder_name>
available = yes
valid users = <user_name>
read only = no
browsable = yes
public = yes
writable = yes

显然,你需要用个人设置替换部分信息。之后应该是如下所示:

保存文件关闭编辑器。现在,重启 SMB 服务使改动生效。

sudo service smbd restart

你的共享目录现在应该可以通过 Windows 电脑访问了。

从 Windows 中访问 Linux 共享

现在,让我们将 Linux 共享添加到 Windows 桌面。在桌面上任意空白位置右击,选择新建 > 快捷方式。

输入共享目录的网络位置,使用下面的语法:

\\IP-ADDRESS\SHARE-NAME

如果需要查询 Linux 电脑的 IP 地址,输入下面的指令:

ifconfig

点击下一步,为快捷方式选择一个名称,然后点击完成。这样你的桌面上就有一个直接指向 Linux 共享的快捷方式了。

路易大叔编译自 How-To Geek

历史上的今天

2015年:博客志:部落格永不落(93条评论)

2012年:快乐星期天210期:幽默语录(44)(36条评论)

2010年:开通QQ会员的手机已丢失、停机或不是本人的手机,如何关闭服务?(38条评论)

2008年:解聘范跑跑、古巴男孩埃连和河南农信社招考风波(0条评论)

2006年:全世界的营养品,卖了10块钱!(0条评论)

2006年:真的要毕业了(0条评论)

22个评论

  1. Betty
    2014/06/17 10:26:49

    我只会把我的Mac跟我另外一台Windows设为文件夹共享,方便互相调用……

    Linux从没用过,也没见识过,觉得自己好挫……

  2. Betty
    2014/06/17 10:27:44

    发完发现自己是沙发,啊哈哈

    貌似是第一次呢

  3. 神父
    2014/06/17 10:29:17

    你的英文真牛逼

  4. 那时年少
    2014/06/17 11:01:30

    学习下,这个还真没试过啊

  5. kitten0
    2014/06/17 12:04:58

    没机会使用linux,学的那点东西都忘干净了

  6. 天长地久
    2014/06/17 17:47:27

    共享个啥劲
    直接U盘拷过去不就得了

  7. 屠龙
    2014/06/17 19:50:49

    共享文件无非是那么几个方法

  8. Xylon Pan
    2014/06/17 19:51:19

    原来用samba比较多~

  9. 沙丘
    2014/06/20 19:03:03

    还是建个局域网FTP吧,没有系统限制

  10. Ansonyi
    2014/06/21 21:32:14

    其实不用这个麻烦啊,一个小软件就简单搞定了

发表评论

您的昵称 *

您的邮箱 *

您的网站