问题标签 [smb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 在 IIS6 上通过 UNC 提供图像时出现 ASP.NET ConfigurationErrorsException
我的 Web 应用程序中有一个虚拟目录,它通过 UNC 连接到 Samba 共享。我可以毫无问题地通过 Windows 资源管理器浏览文件,但我的 Web 应用程序会抛出一个黄屏,并显示以下消息:
说明:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并适当地修改您的配置文件。
解析器错误消息:加载配置文件时出错:找不到文件 '\cluster\cms\qa-images\120400\web.config'。
对我来说没有意义的是它为什么要在那个位置寻找一个web.config
。我知道这不是身份验证问题,因为虚拟目录可以从其根目录提供图像(即\\cluster\cms\qa-images\test.jpg
可以http://myserver/upload/test.jpg
正常使用)。
想法?
macos - 符号链接在共享到 Windows 或 Linux (smb) 时有效,但在共享到 Mac (afp 或 smb) 时断开
在 Mac 上,我有一个共享文件夹 ~\Documents。有两个子文件夹,Data 和 Data_2011,前者包含过去几年的文件文件夹,后者包含指向 Data 文件夹中自 2011 年 1 月 1 日以来更新的文件夹的符号链接。链接是使用标准创建的ln -s命令。
当我在 Windows 计算机上安装共享文档文件夹时,链接有效。当我使用 smb 在 Linux 上挂载时,链接有效。当我直接在托管 Mac 上使用这些链接时,它们可以工作。但是,当我从远程 Mac 挂载 Documents 文件夹时,软链接会断开。为了清楚起见,我通过转到 Finder > 连接到服务器 > afp://xxx.xxx.xx.xx/ 或 smb://xxx.xxx.xx.xx/Documents 来安装 Documents 文件夹
关于如何让这些软链接在共享到远程 Mac 时工作的任何想法?
-思博
windows - 设备驱动程序的 ImagePath
我总是直接设置我的驱动程序 Imagepath。(C:\Windows\System32\drivers\abc.sys)
但我只知道许多设备驱动程序将它们的 ImagePath 设置为%SystemRoot%\system32\svchost.exe -k netsvcs
这是 Lanmanworkstation 驱动程序的注册表配置单元。
我猜Lanmanworkstation 驱动的镜像文件是mrxsmb.sys
但他们没有放'System32\drivers\mrxsmb.sys'。为什么。
svchost.exe -k netsvcs是什么意思?
即使没有确定的路径,StartService 功能也能正常工作。
服务管理器(?我不确定)如何找到驱动程序的图像路径?
使用这个有优势吗?
如果我决定使用这种方式,我的驱动程序代码是否应该修改?
windows - 如何重新使用现有 CIFS 会话或以编程方式显式终止一个(W2K8 到 Netapp)?
我有一个在 Windows 上运行并通过 CIFS 扫描 Netapp 文件管理器上的共享的程序。当扫描程序在 W2K3 上运行并退出时,在 Netapp 文件管理器上运行“cifs sessions -c”会显示会话已消失。当相同的扫描程序在 W2K8 上运行并退出时,上面的 Netapp 命令显示会话仍处于活动状态。扫描仪应用程序已退出,因此会话上不应再有流量。
到目前为止我所做的:1)等待(超过)cifs.idle_timeout 秒数以查看会话是否消失。它不是。2) 分析 W2K3->Netapp 和 W2K8->Netapp 之间通信的数据包跟踪。W2K3 跟踪显示 TREE_CONNECT 和 TREE_DISCONNECT,但 W2K8 跟踪仅显示 TREE_CONNECT 请求。我会验证这一点,但我认为 W2K3 上的 TREE_DISCONNECT 之后是一个 LOGOFF 请求(我相信这会导致会话结束?)。3) 要查看 Netapp 不在图片中时的情况——从 W2K8 客户端机器,我通过 windows-explorer \\C$ 访问。这会导致在线路上的 TREE_CONNECT 请求。现在我关闭了资源管理器窗口,并且 W2K3 服务器机器关闭了会话,即使 W2K8 客户端生成的线路上没有 TREE_DISCONNECT。
因此,Netapp 似乎期待 W2K8 没有发送的东西。
问题:我可以在我的扫描仪应用程序中使用特定的 API 来 i) 在我完成扫描时发送一个明确的 LOGOOFF SMB 请求吗?ii) 或者,重新使用 W2K8 客户端和 Netapp 文件管理器的现有会话进行新的扫描?ii) 有人遇到这种情况或类似情况吗?
提前致谢。
java - ANDROID:在 Java 中访问 CIFS 共享
我正在编写我的第一个 Android 应用程序,它或多或少会成为挂载点管理器。本地挂载和 NFS 挂载很容易,但我不确定如何处理 CIFS 共享。
理想情况下,选择主机后,将显示 CIFS 共享列表。至少,我应该能够输入 CIFS URI/共享字符串并挂载它(例如://192.168.1.100/mount_point)。我正在考虑 ESstrongs,您可以在其中选择一个主机,它会显示共享,然后您可以进一步探索。
我看过 jCIFS(我认为这是 Astro 使用的),并且我在 xda-developers 上看到过提及 cifs.ko 模块。还有其他标准方法吗?关于如何使用 jCIFS 或 cifs.ko 并在一般情况下执行此操作的任何提示/建议?我宁愿不必获得root访问权限。
winapi - 为什么网络共享枚举在 Windows 上这么慢?
通过 Windows API 函数 NetShareEnum 或 WNetEnumResource 检索网络共享列表最多需要 60 (!!!) 秒来完成请求。也许有人知道为什么它这么慢?也许可以使用一些 API / 库(如 SMB)以合理的速度枚举共享?
iphone - 使用 NSNetService 类与 Windows 机器上共享的文件夹建立 SMB tcp ip 连接
我一直在尝试找出一种使用 iPhone 访问我的 Windows 共享文件夹的方法。所需的功能是我正在构建的更大企业应用程序的一部分。这里有人已经问过类似的问题但没有运气 - iOS 是否支持通过 SMB 进行文件操作?
现在,我找到了名为“ SimpleNetworkStreams ”的苹果开发者教程,它通过将 NSNetService 实例的类型设置为协议来使用 NSNetService 通过 tcp 使用 x-SNSUpload 协议x-SNSUpload._tcp
他们是这样做的——
因此,如果我只是在我的 macbook 上替换_x-SNSUpload._tcp
并_smb._tcp
运行 SMB 服务器。我运行以下命令集在我的 macbook 上启动 SMB
然后我可以将我 iPhone 中的图片传输到我的 macbook 的根目录。我希望对 Windows 机器上的共享文件夹做同样的事情。
共享文件夹的名称是“测试共享”。我已经在我的 Windows 机器中明确共享了我的“测试共享”文件夹,并且所有人都可以完全控制。代码的完整细节放在下面(更新后)
如果我在浏览器上直接输入“smb:\\10.212.19.121”,我就可以访问我的共享文件夹。它会打开 finder 应用程序,并让我选择挂载“临时共享”文件夹。
更新 -从上面取出的大量冗余文本以及关于 SimpleNetworkStreams 如何工作以及我进行了调整的更好的细节放在下面。
代码取自 - SimpleNetworkStreams -
- 打开我们要发送的文件的 NSInputStream 类型的流
- 正如苹果文档所说
“您可以直接创建一个 NSNetService 对象(如果您知道确切的主机和端口信息),也可以使用 NSNetServiceBrowser 对象来浏览服务。”
为托管 SMB 服务器的服务器实例化一个 NSNetService 对象
将 NSOutputStream 类型的输出流对象获取到 self.networkStream 中。
然后 NSOutputStream 委托捕获 NSStreamEventHasSpaceAvailable 我们在输入文件中缓冲的位置,然后将该缓冲区写入我们的 NSOutputStream 对象,即 networkStream
windows-7 - Windows 7 是否真的支持 SMB 核心协议?
我已经开始为基于 Z80 的旧机器开发 SMB 服务器。这台机器运行一个非常简单的类似 MS-DOS 的操作系统(没有多任务,没有用户概念,只有 FAT 文件系统,没有 unicode,只有 8.3 文件名)并且内存有限,因此我的第一个想法是只实现 SMB 核心协议. 我将使用 TCP 传输。
至于现在,我只有一个非常简短的测试代码,它只是回复 SMB_COM_NEGOTIATE 命令,表明核心协议(“PC NETWORK PROGRAM 1.0”)是所需的方言。为了测试它,我尝试通过打开资源管理器窗口并"\\<server IP>"
在地址栏中输入来从 Windows 7 机器进行连接。我已经用 Wireshark 验证了服务器收到了协商命令并发送了(显然)正确的响应。
问题:一旦 Windows 客户端收到响应,它就会显示一条通用的“无法访问资源”错误消息(错误代码为 0x80004005),然后什么也没有发生(不再发送 SMB 消息)。我期待收到 SMB_COM_TREE_CONNECT 或类似的命令。
我在想,也许 Windows 7 不支持核心协议(它很老,而且它缺乏任何安全功能),但是,为什么它在协商请求中列出核心方言名称?也许我错过了一些步骤?服务器必须在协商响应后发送任何额外的数据包吗?
客户端操作系统是 Windows 7 Ultimate 64 位,这里是请求和响应的 Wireshark 转储,以防任何人在此过程中发现任何错误:
请求:
响应:
更新:如果我选择 NT LM 0.12 方言而不是核心方言,我会收到来自客户端的 SESSION_SETUP_AND_REQUESTX 命令。显然,Windows 7 似乎确实不支持核心协议。无论如何,任何额外的信息将不胜感激。
windows - 为 Windows 实现 SMB 重定向器的最简单方法是什么?
我想实现一个小工具,让我可以在 Windows 上完成我在任何其他操作系统上已经可以轻松完成的工作 - 通过 IP 地址和端口指定远程 SMB 服务器。就本机而言,Windows 不会通过 445 或 139(它的选择)以外的任何端口执行 SMB,而且我厌倦了使用解决方法来解决微软不断添加到 Windows 以 fsck 建立隧道 SMB 的各种坏事。通过 SSH 端口转发。
我想到的是一个小命令行应用程序,它可以让我做类似的事情
netsubst 服务器名 -i IP -p PORT
这将与司机携手并进?dll?它作为 SMB 重定向器连接到 Windows,但扫描由 netsubst 设置的服务器名称表,而不是在网络上查找它们以找出要连接的内容。所以我可以做
net use X: //servername/sharename /user:username *
以通常的方式,除了 Windows 在它可以找到的任何机器的端口 445 或 139 上寻找 //servername 之外,它会直接去地址 IP,端口 PORT; 如果 IP 碰巧是 127.0.0.1 并且 PORT 碰巧是通过 ssh 转发到其他地方的东西,那么一切都会正常工作,我将不再需要处理 Windows 在访问 localhost 端口 139 和445.
我认为我需要的是类似于 VirtualBox 用于进行主机文件共享的 //vboxsvr 来宾添加,但可能更简单,因为它不需要完整的后端 - 在我的理想世界中,我唯一的Windows 功能d 需要更换的是与远程 SMB 服务器建立初始连接的部分。但是在我开始研究 VirtualBox 源代码之前,有人可以建议一种更简单的方法来完成这项工作,或者可以将我指向有关实现 SMB 重定向器的 Microsoft 文档?
linux - 通过 Linux 和 Windows 使用的 Samba 共享 Mercurial/Git 存储库
该存储库位于 linux 机器上,可通过 samba for windows 访问。
一般来说,事情似乎奏效了。Git 在 Windows 上的性能存在一些问题,但可以正常工作。因此,我目前只运行 mercurial。
问题是“hg status”有时会在 windows 和 linux 上返回不同的结果。它们都在同一个存储库中运行。
什么会导致这种差异?如何修复?
提交这些幻像更改最终会在更改日志中生成:
我猜这意味着这是一个 ntfs 文件权限问题。