如何在 Linux 上永久挂载一个 Windows 共享

摘要:在Linux上和一个Windows网络进行交互从来就不是件轻松的事情。想想多少企业正在采用Linux,需要在这两个平台上彼此协作。幸运的是,有了一些工具的帮助,你可以轻松地将Windows网络驱动器映射到一台Linux机器上,甚至可以确保在重启Linux机器之后共享还在。

在Linux上和一个Windows网络进行交互从来就不是件轻松的事情。想想多少企业正在采用Linux,需要在这两个平台上彼此协作。幸运的是,有了一些工具的帮助,你可以轻松地将Windows网络驱动器映射到一台Linux机器上,甚至可以确保在重启Linux机器之后共享还在。

在我们开始之前

要实现这个,你需要用到命令行。过程十分简单,但你需要编辑/etc/fstab文件,所以小心操作。还有,我假设你已经让Samba正常工作了,可以手动从Windows网络挂载共享到你的Linux机器,还知道这个共享的主机IP地址。

准备好了吗?那就开始吧。

创建你的挂载点

我们要做的第一件事是创建一个文件夹,他将作为共享的挂载点。为了简单起见,我们将这个文件夹命名为share,放在/media之下。打开你的终端执行以下命令:

sudomkdir/media/share

安装一些软件

现在我们得安装允许跨平台文件共享的系统;这个系统是cifs-utils。在终端窗口输入:

sudoapt-getinstallcifs-utils

这个命令同时还会安装cifs-utils所有的依赖。

安装完成之后,打开文件/etc/nsswitch.conf并找到这一行:

hosts:filesmdns4_minimal[NOTFOUND=return]dns

编辑这一行,让它看起来像这样:

hosts:filesmdns4_minimal[NOTFOUND=return]winsdns

现在你需要安装windbind让你的Linux机器可以在DHCP网络中解析Windows机器名。在终端里执行:

sudoapt-getinstalllibnss-windbindwindbind

用这个命令重启网络服务:

sudoservicenetworkingrestart

挂载网络驱动器

现在我们要映射网络驱动器。这里我们必须编辑/etc/fstab文件。在你做第一次编辑之前,用这个命令备份以下这个文件:

sudocp/etc/fstab/etc/fstab.old

如果你需要恢复这个文件,执行以下命令:

sudomv/etc/fstab.old/etc/fstab

在你的主目录创建一个认证信息文件.smbcredentials。在这个文件里添加你的用户名和密码,就像这样(USER和PASSWORD替换为实际的用户名和密码):

username=USER

password=PASSWORD

你需要知道挂载这个驱动器的用户的组ID(GID)和用户ID(UID)。执行命令:

idUSER

USER是你的实际用户名,你应该会看到类似这样的信息:

uid=1000(USER)gid=1000(GROUP)

USER是实际的用户名,GROUP是组名。在(USER)和(GROUP)之前的数字将会被用在/etc/fstab文件之中。

是时候编辑/etc/fstab文件了。在你的编辑器中打开那个文件并添加下面这行到文件末尾(替换以下全大写字段以及远程机器的IP地址):

//192.168.1.10/SHARE/media/sharecifscredentials=/home/USER/.smbcredentials,iocharset=uft8,gid=GID,udi=UID,file_mode=0777,dir_mode=077700

注意:上面这些内容应该在同一行上。

保存并关闭那个文件。执行sudomount-a命令,共享就会挂载上。看看一下/media/share,你应该能看到那个网络共享上的文件和文件夹了。

原文发布时间为:2016-07-15

本文来自云栖社区合作伙伴“Linux中国”

用云栖社区APP,舒服~

相关推荐