CIFS共享安装错误


31

我正在尝试将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服务器?这些错误是什么意思?

Answers:


35

解决从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. 打开控制台并suroot。
  2. 创建目录mkdir /mnt/windows 这将是您访问共享文件的位置。

  3. 运行安装命令,提示输入密码:

    [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. 上面的命令提示您输入密码,输入正确的密码,输入错误的密码将产生错误。如果不确定密码,可以在控制面板->用户帐户下的窗口框中更改密码。

  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并按Enter。
  3. 您可能会看到一个用户名和密码登录框。输入本文顶部所述的窗口框的用户名和密码。
  4. 恭喜,您已连接到共享文件夹。

如果以上方法不起作用,请进行故障排除。

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

重新启动两台计算机。之后,请确保所有Windows更新均已完成。确保Linux也已妥善处理其软件更新。更新后重新启动。

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

一款旨在保护您的计算机免受Internet上的病毒,恶意软件或恶意软件攻击的软件,可能会阻止您的文件共享尝试。Windows防火墙可能处于偏执模式。尽管不太可能归咎于Windows防火墙,但请暂时将其关闭以验证这不是问题。(不要离开它)。

获取可能设置为偏执模式的所有安全软件的列表。Windows防火墙,第三方防火墙,ZoneAlarms,防病毒软件,Kaspersky,AVG或其他声称可以保护您免受病毒/恶意软件/恶意软件攻击的工具。您将需要检查这些内容,或者暂时关闭它们,或者通过它们为您的IP地址打开白名单。

步骤3:从安全软件获取线索。

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

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

可能是路由器,无线网桥,哑式集线器或其他网络设备通过阻止共享文件夹连接尝试而在其中带有一些指令shenanigan。路由器或设备本身可能正在阻塞端口或处于限制模式。最近有人在鬼混吗?尝试将路由器重新设置为默认值,然后重试。

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

两台计算机都连接到同一路由器吗?也许一个连接到to脚的netgear无线网桥,另一个连接到路由器?通过将所有计算机连接到一台路由器来简化网络。重新启动路由器和Internet,然后重试。

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

现在该放牧猫并隔离有缺陷的单元了。通过连接到另一台计算机上的共享来证明Windows框未共享您的文件。获取朋友的Windows笔记本电脑或Apple产品,并将其连接到您的网络,看看他们是否可以访问共享。如果不能,则Windows框有问题,如果可以,则Linux框有问题。

步骤7:在Linux上检查防火墙

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

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


1
那是为我做的。就我而言,此问题是由防火墙设置引起的,该设置允许ping但不允许TCP端口445上的SMB连接。–
Paul Gear

请注意,您可能需要使用sudo ping 192.168.13.107不只是ping 192.168.13.107
加布里埃尔斯台普斯

@GabrielStaples为什么要为此使用sudo?
布莱恩

我不知道,但是我知道除非我先不使用sudo尝试它,然后它就不起作用,然后再使用sudo尝试,否则它不会起作用。我敢肯定,当时有人工作却没有人工作也很奇怪。
加布里埃尔·斯台普斯

7

尝试:

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

密钥是sec = ntlm


那并没有给我带来任何快乐
Paul Gear 2014年

1
怎么sec=ntlm办?
Karl Richter

不知道该怎么sec=ntlm做,但这是此页面上唯一对我有用的解决方案。编辑:这里的一对Ubuntu论坛,解释回答为什么这个工程:ubuntuforums.org/...
乔纳森·兰德隆

5

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

该错误消息不是很具描述性,但表示操作已超时。有很多可能的原因,在研究此问题时,我遇到了一些尚未在该线程上提及的解决方案。

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

该文件使用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

不确定这与您的情况有多相关,但是在将Android手机上安装CIFS共享时遇到了类似的问题:

# mount -t cifs //192.168.0.2/media/ /mnt/cifs/media -o username=user,password=pass
mount: mounting //192.168.0.2/media/ on /mnt/cifs/media failed: No such device or address
#

我尝试删除尾部斜杠,显然它有所作为-安装了:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#

1
是的,即使桌面环境假装它们也并非完全是目录。
Eroen 2012年

3

我遇到的问题是凭据文件/ etc / smb-credentials中有空格

username = foobar
password = secret

当我将其更改为:

username=foobar
password=secret

有效。


2

我经常不得不引用-o "username=joe,password=yadayada,domain=adomain" //share/share /mnt ,它会马上安装,而我查找的大多数示例都没有显示该位(如果在那些系统上需要的话)。
我刚才在平板电脑上确实遇到了这个问题(为什么我在这里想要UNC名称而不是IP)引号已将其修复。


1

其他可能的解决方案

如果共享文件夹来自Windows 10(可能也适用于7和XP),请确认Windows文件夹的共享设置已针对所连接的网络类型进行了正确配置,即PublicPrivate

我将中继我的经验,并酌情适应您的情况。打开wifi网络列表,然后为您所连接的网络单击Properties。设置为PublicPrivate适当。(在我的情况下,Private网络标记错误Public。)

一旦网络被正确分类,右键单击您的共享文件夹,选择Properties,选择Sharing选项卡,选择Network and Sharing Center联系,并确保Turn on file and printer sharing用于选择PublicPrivate根据您的WiFi连接类型,以前归类。

完成此操作后,我能够按预期将Debian计算机连接到Windows 10。


0

另一个问题可能与DNS有关。我收到相同的“正在进行操作”错误。不过,与Dolphin一起浏览效果很好。我在Dolphin中成功使用的主机名解析为4个IP地址,其中一个以0结尾(这是一个子域名)。当我使用其他3个IP地址之一的名称时,安装成功。我想当给定一个(子)域名而不是mount时,Dolphin在查找实际主机方面会更聪明。


我不知道为什么我的答案被否决了。之所以包含它,是因为我的行为与OP相同,但根本原因不同。我知道OP的问题已经解决,但是我认为对其他遇到这种行为的人来说,还有另一个可能的原因可能会有所帮助。
克里斯(Chris)

0

今天我看到一个案例,有人试图使用CIFS挂载共享,但未安装CIFS。

yum install cifs-utils
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.