我有一台Windows电脑位于192.168.0.103,并且我想要从一台拥有192.168.0.110的Linux电脑上访问"c$"管理共享文件夹,以便交换一些文件。在同一网络下的另一台Windows电脑上,我可以简单地打开运行窗口,输入UNC路径"\\192.168.0.103\c$",然后回车。接着会提示输入用户名和密码,如果输入正确,它将在Windows资源管理器中打开共享位置。 从Linux电脑上如何实现这个功能呢?我最近询问了关于Run命令的问题,显然Linux也有类似的命令,但我无法像在Windows上那样使用它来访问UNC路径。那么在Linux上需要进行什么样的操作才能实现相同的功能呢?是哪种神秘的Linux技巧、黑魔法、咒语或者仪式呢? 我正在使用Debian 7.1.0 Wheezy操作系统。
你可以直接使用Gnome中的Places -> Network GUI菜单来访问你的共享文件夹。另外,你也可以打开终端并使用smbclient命令,比如smbclient -L //192.168.0.113来列出可用的共享文件夹,以及smbclient //192.168.0.113/C来访问C$共享文件夹。你可以参考这些示例:http://www.linuxnix.com/2009/09/8-ways-to-mount-smbfs-samba-file-system-in-linux.html。我不确定你所说的"access by UNC"是什么意思,也许你想要挂载SAMBA共享文件夹,并将其作为本地文件系统来访问?那么你可以使用smbfs命令。 关于这个神奇的功能,Linux使用的是SAMBA软件包,它是SMB/CIFS协议的一个开源部分实现,用于Windows机器在Windows域或工作组中交换数据。 Linux中关于SAMBA的主要手册是SAMBA by example和SAMBA howto,但它们在解释整体协议应该如何工作方面缺乏说明,它们假定你已经有相关知识。 SMB/CIFS是一种类似于糊状物的技术,使用了大约10种其他协议,我无法找到一个很好的信息来源来解释它的工作原理(比如首先消息从A发送到B,然后从B发送到A)。这些技术包括: DNS或传统的NetBIOS(可能通过以太网称为NBF或通过TCP/IP称为NBT)计算机命名系统。实际上,当Windows要求您输入计算机名称并告诉您不应超过15个字符时,它指的是NetBIOS名称。 名称解析和复制机制,DNS使用BIND或NetBIOS名称解析使用WINS服务器(SAMBA中的nmbd)。 共享浏览机制,包括根据机器的正常运行时间进行主浏览器的奇特选举,并导致延迟;除非配置了专用主浏览器,否则此机制有效,请参阅网络浏览。 身份验证和授权机制;包括多个元素和选项,支持大量传统机制,请参阅Microsoft的相关内容。 与漫游用户配置文件支持的目录服务集成。 SMB在两种主要情况下使用:工作组和域。当您拥有家庭网络时,所有计算机都是平等的,并且每台计算机上的用户帐户都不同;在这种情况下,对共享资源的访问要么采用按共享模式,要么采用按用户模式进行保护。大型公司网络通常允许用户使用其登录名和密码登录任何计算机,并访问其个人资料和数据。这也被称为域。Windows将域数据存储在专用的机器上,称为域控制器,它们运行Microsoft实现的目录服务,称为Active Directory系统,以存储帐户信息。 原则上,Active Directory是LDAP的超集,你可以从IBM教程了解有关LDAP的信息。这里还有一套很好的视频介绍Active Directory的运作方式。
mount.cifs //我的IP地址/c$ /mnt/c -o user=我的用户名显示如下消息:mount error(13): Permission denied。我也尝试了不带“$”符号的方式:mount.cifs //我的IP地址/c /mnt/c -o user=我的用户名,但是显示:mount error(6): No such device or address。标准测试共享可以正常工作。 - patryk.bezasudo吗?我猜挂载可能需要它。 - Boris Burkovsu -命令)。 - patryk.beza//my_IP/c$,所以共享名称中没有任何非英文字符。你所说的“Windows端的权限”是什么意思?我并没有更改任何默认权限。我认为默认情况下应该可以挂载c$管理员共享。 - patryk.beza