CIFS 共享挂载错误

Ken*_*all 32 networking fedora mount cifs

我正在尝试将 Linksys NAS200 的网络共享挂载到 Fedora 16。

我试图运行的程序不接受要保存到的网络地址。我在没有指定服务器 IP 地址的情况下运行它,它提供了一些随机 IP。我指定了一个 IP,但它找不到该设备。

以下是错误:

[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass
mount.cifs kernel mount options: ip=184.106.31.190,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,ip=192.168.1.77
ip address 192.168.1.77 override specified
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
Retrying with upper case share name
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\PUBLIC,,ver=1,user=user,pass=********
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)

但它确实适用于smbclient

[root@HOME ~]# smbclient -L 192.168.1.77
WARNING: The security=share option is deprecated
Enter user's password: 
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (Network Storage)
DISK 1          Disk      
PUBLIC          Disk      
ADMIN$          IPC       IPC Service (Network Storage)
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Server               Comment
---------            -------
HOME                 Samba Server Version 3.6.5-85.fc16
NAS_SERVER           Network Storage

Workgroup            Master
---------            -------
HOME                 HOME
Run Code Online (Sandbox Code Playgroud)

为什么我不能挂载到这个 samba 服务器?这些错误是什么意思?

Eri*_*ski 37

从 Fedora 访问 Windows XP 共享文件夹的故障排除:

您收到以下错误:

mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)

1. 确保 Linux 可以 ping 另一个框。

在linux盒子上运行这个命令到windows盒子的IP:

el@defiant /mnt $ ping 192.168.13.107
PING 192.168.13.107 (192.168.13.107) 56(84) bytes of data.
64 bytes from 192.168.13.107: icmp_req=1 ttl=128 time=0.366 ms
--- 192.168.13.107 ping statistics ---
44 packets transmitted, 44 received, 0% packet loss, time 42999ms
rtt min/avg/max/mdev = 0.178/0.227/0.366/0.038 ms
Run Code Online (Sandbox Code Playgroud)

如果您无法够到盒子或连接进出,mount 可能会抱怨。

2. 确保在 Windows 上确实共享了一个文件夹,请按照以下步骤操作。

  1. 打开文件浏览器到C:\.
  2. 创建一个名为 的新文件夹public。所以你现在有 C:\public
  3. 在该文件夹中,创建一个名为“testing.txt”的新文本文档。
  4. 右键单击该文件夹C:\public并转到属性。
  5. 单击共享选项卡。
  6. 确保:选中“在网络上共享此文件夹”。注意共享名称:'public'。
  7. 单击确定。文件夹下方应该会出现一只小手,这意味着它是共享的。

文件夹“public”现在已共享,您应该可以使用 Linux 连接到它。

3. 在 Linux 上,使用 'mount' 挂载共享:

  1. 打开控制台并suroot。
  2. 创建一个目录mkdir /mnt/windows 这将是您访问共享文件的地方。

  3. 运行提示输入密码的 mount 命令:

    [root@defiant mnt]# mount -t cifs //192.168.13.107/eric /mnt/windows -o username=eric
    Password for eric@//192.168.13.107/public:  **********
    [root@defiant mnt]# 
    
    Run Code Online (Sandbox Code Playgroud)
  4. 上面的命令提示你输入密码,输入正确的密码,不正确的会产生错误。如果您不确定密码,您可以在控制面板 -> 用户帐户下的窗口框中更改密码。

  5. 运行命令cd /mnt/windows 并运行ls。驱动器的内容如下所示:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
    Run Code Online (Sandbox Code Playgroud)
  6. 您已连接到 Windows 驱动器。

4、用konqueror或linux文件浏览器连接共享驱动器:

  1. 打开你的文件浏览器,在我的例子中是 konqueror。
  2. 在文件位置栏中,输入smb://192.168.13.107/public并按回车键。
  3. 您可能会看到一个用户名和密码登录框。输入本文顶部描述的 windows 框的用户名和密码。
  4. 恭喜您已连接到共享文件夹。

故障排除,如果上述方法不起作用。

步骤 1:您是否尝试重新启动两台计算机

重新启动您的两台计算机。之后,确保完成所有 Windows 更新。确保 Linux 也有其软件更新。更新后重启。

第 2 步:检查您的防火墙、ZoneAlarms 和其他安全软件

一款旨在保护您的计算机免受互联网上的病毒、恶意软件或恶意软件侵害的软件可能会阻止您的文件共享尝试。Windows 防火墙可能处于偏执模式。尽管 Windows 防火墙不太可能是罪魁祸首,但暂时将其关闭以验证它不是问题。(不要离开它)。

获取可能设置为偏执模式的所有安全软件的列表。Windows 防火墙、第 3 方防火墙、ZoneAlarms、防病毒软件、卡巴斯基、AVG 或任何其他声称可以保护您免受病毒/恶意软件/邪恶侵害的东西。您需要查看这些并暂时关闭它们,或者通过它们为您的 IP 地址打开一个白名单。

第三步:从安全软件中获取线索。

ZoneAlarm 保留所有文件夹共享事件和尝试的日志,请转到概览-> 警报和日志。并查看所有失败尝试的列表。其他软件也是如此。在这种情况下,它是在保护你免受你的伤害。

第四步:怀​​疑路由器或局域网本身有问题

也许路由器、无线网桥、哑集线器或其他网络设备通过阻止您的共享文件夹连接尝试来进行一些指令性的恶作剧。路由器或设备本身可能会阻塞端口或处于限制模式。最近有人在玩这个吗?尝试将路由器设置回默认一切,然后重试。

第 5 步:确保您的局域网简单且正确。

你的两台电脑都连接在同一个路由器上吗?也许一个连接到蹩脚的网络设备无线网桥,另一个连接到路由器?通过将所有计算机连接到一台路由器来简化网络。重启路由器和互联网,再试一次。

第 6 步:仍然无法正常工作。隔离故障单元。

是时候放牧猫并隔离有缺陷的设备了。通过连接到另一台计算机的共享来证明 windows box 没有共享您的文件。找一个朋友的 Windows 笔记本电脑或苹果产品并将其连接到您的网络,看看他们是否可以访问共享。如果它们不能,则 Windows 机器有问题,如果它们能,则 Linux 机器有问题。

第 7 步:怀疑 Linux 上的防火墙

请注意 Linux 上的任何特殊安全警报或特殊防火墙软件。运行system-config-firewall并确保 smb 被选中。检查以确保 Linux 没有阻止您的挂载。在另一个 Linux 机器上创建一个 smb 共享,并尝试连接到它。

如果这些都不起作用。使用核选项,重新安装两个操作系统并从顶部重新开始。这是火箭手术。

  • 那个人为我做到了。我的案例中的问题是由允许 ping 但不允许 TCP 端口 445 上的 SMB 连接的防火墙设置引起的。 (2认同)

小智 7

尝试:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm
Run Code Online (Sandbox Code Playgroud)

关键是sec=ntlm


Jon*_*rum 6

为这个问题添加更多可能的解决方案

此错误消息的描述性不强,但它的意思是操作已超时。这有很多可能的原因,在研究这个问题时,我遇到了一些在这个线程中尚未提到的解决方案。

1.) 模糊网络

您可以在网上找到的解决此问题的各种解决方案中并不经常提到它,但是您要连接的服务器必须与您的本地计算机位于同一子网中。这个问题对我来说是因为我同时启用了有线和无线连接,并且确定设备属于哪个子网是不明确的,因为这两个连接不是同一个网络。禁用 Wifi 立即解决了问题。我在阅读Das Werkstatt时偶然发现了这个解决方案:

[解决方案]

就我而言,DFS 共享位于不同子网中的存储上。我在该存储子网中添加了一个带有 IP 的网络别名 (eth0:1),然后它就可以工作了。

我原以为“没有到主机的路由”而不是神秘的“错误(115):操作正在进行中”......

好吧,不能拥有一切;)

资料来源:http : //www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7& t= 2074

2.) 凭证文件末尾的换行符

如果您,的密码中有特殊字符(例如逗号),则凭证文件很有用。它可以在选项中引用,如下所示:

mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo
Run Code Online (Sandbox Code Playgroud)

该文件的格式为sh-style 变量声明:

username=me
password=mypassword
domain=mydomain
Run Code Online (Sandbox Code Playgroud)

如果您使用的是凭证文件,请确保末尾没有换行符,否则在尝试解析凭证文件时会超时:

...
domain=mydomain
<empty line>
Run Code Online (Sandbox Code Playgroud)

3.) 尝试挂载特定目录而不是实际共享点

如果您需要的特定目录是共享的子目录,您将无法直接挂载该文件夹。尝试这样做会导致几个不同的错误,这就是其中之一。

相反,挂载共享点本身,然后将符号链接添加到您需要的子目录:

~> mkdir /mnt/local
~> sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder
Run Code Online (Sandbox Code Playgroud)

这样,您可以获得与安装子目录本身相同的结果,而无需每次都深入查看它。