CIFS 共享挂载错误

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)

但它确实适用于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

为什么我无法挂载到这个 Samba 服务器?这些错误是什么意思?

答案1

解决从 Fedora 访问 Windows XP 共享文件夹的问题:

您收到以下错误:

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

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

如果您无法到达盒子或者连接不上,安装可能会出现故障。

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

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

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

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

  1. 打开控制台并su进行 root。
  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]# 
    
  4. 上述命令会提示您输入密码,请输入正确的密码,密码不正确将产生错误。如果您不确定密码,可以在控制面板 -> 用户帐户下的 Windows 框中更改密码。

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

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  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 防火墙、第三方防火墙、ZoneAlarms、防病毒软件、卡巴斯基、AVG 或任何其他声称可以保护您免受病毒/恶意软件/邪恶侵害的软件。您需要查看这些软件,然后暂时关闭它们,或者通过它们为您的 IP 地址打开白名单。

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

ZoneAlarm 会记录所有文件夹共享事件和尝试,转到“概览”->“警报和日志”。然后查看所有失败尝试的列表。其他软件也可能有同样的功能。在这种情况下,它可以保护您免受攻击。

步骤4:怀疑路由器或局域网本身存在问题

也许路由器、无线网桥、哑集线器或其他网络设备有一些指令性恶作剧,阻止了您的共享文件夹连接尝试。路由器或设备本身可能正在阻止端口或处于限制模式。最近有人在捣鼓它吗?尝试将路由器恢复为默认设置,然后重试。

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

您的两台计算机是否都连接到同一个路由器?也许其中一台连接到了糟糕的 netgear 无线网桥,而另一台连接到了路由器?通过让所有计算机都连接到一个路由器来简化网络。重新启动路由器和互联网,然后重试。

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

是时候把猫赶出去并隔离有缺陷的单元了。通过使用另一台计算机连接到共享来证明 Windows 机器没有共享您的文件。获取朋友的 Windows 笔记本电脑或 Apple 产品并将其连接到您的网络,看看他们是否可以访问共享。如果他们不能,则 Windows 机器有问题,如果他们可以,则 Linux 机器有问题。

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

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

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

答案2

尝试:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm

关键是安全=ntlm

答案3

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

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

1.)模糊网络

在网上可以找到的各种解决方案中,通常不会提到这一点,但你连接的服务器必须与本地计算机位于同一子网中。我之所以出现这个问题,是因为我同时启用了有线和无线连接,但无法确定设备属于哪个子网,因为这两个连接不是同一个网络。禁用 Wifi 可以立即解决问题。我在阅读时偶然发现了这个解决方案工地

[解决方案]

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

我本来期望出现类似“没有到主机的路由”这样的信息,而不是神秘的“错误(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

该文件采用sh-style 变量声明格式:

username=me
password=mypassword
domain=mydomain

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

...
domain=mydomain
<empty line>

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

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

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

~> mkdir /mnt/local
~> sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder

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

答案4

我经常需要引用,-o "username=joe,password=yadayada,domain=adomain" //share/share /mnt 然后它就会立即挂载,而我查找的大多数示例都没有显示该位(如果这些系统需要它)。
我刚才在平板电脑上确实遇到了这个问题(为什么我在这里想要 UNC 名称而不是 IP)引用立即解决了这个问题。

相关内容