为什么这种明智的尝试不起作用?


2

我可以成功访问我们的本地samba共享之一,它位于Windows pc(称为“码头”)上,如下所示:

$ sudo /usr/bin/smbclient \\\\marina\\resource_library <my password>
Domain=[MARINA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> 

因此,这可行。我现在正在尝试将上述位置(码头上的resource_library文件夹)安装到/ mnt / resource_library(作为只读文件夹),但始终失败-我尝试了几种指定位置的方法:

$ sudo smbmount \\\\marina\\resource_library /mnt/resource_library -o username=max,password=<my password>,r
mount error: could not resolve address for marina: No address associated with hostname
No ip address specified and hostname not found

$ sudo smbmount //marina/resource_library /mnt/resource_library -o username=max,password=<my password>,r
mount error: could not resolve address for marina: No address associated with hostname
No ip address specified and hostname not found

以上两者都是MARINA而不是marina。我肯定会犯一些愚蠢的错误,有人可以看到吗?

最大的欢呼声


sudos的非必需的smbclient。您无需具有root特权即可运行smbclient。(可能与smbmount... 有所不同)
Kurt Pfeifle,2010年

此外,smbclient您还可以使用//servername/sharename(单斜杠而不是双反斜杠)来处理资源...
Kurt Pfeifle 2010年

@the dsc的评论:似乎除了使用这种显式/静态IP解决方法之外,没有人知道如何以其他任何方式真正解决此问题。:-/
Ivo Flipse

Answers:


5

我在debian上找到了一个对我有用的非解决方法(最初是在一些ubuntu论坛上找到的,但是这个配置文件甚至存在于fedora中,所以我想它可能是通用的)。我必须在/etc/nsswitch.conf文件中添加“ wins”(并已安装“ wins”)。现在的行如下:

主机:文件mdns4_minimal [NOTFOUND = return] dns胜过mdns4


2

其实我找到了答案,但是我不确定它是否适用于所有人。如果有人浏览该页面,我将其放在此处。基本上我只需要使用smbmount命令提供IP地址,

$ nmblookup marina
querying marina on 192.168.0.255
192.168.0.15 marina<00>

现在,由于发生了这种情况,我的生活更加轻松了,因为192.168.0.15已作为固定网络ip分配给了相关的mac地址,因此它永远不会改变。所以现在我可以做

$sudo smbmount //marina/resource_library /mnt/resource_library -o ip=192.168.0.15,username=max,password=<my password>,r 

并进行排序。如果我正在为这个smb共享处理一个随机分配的IP,那么我不确定该怎么做,但是幸运的是,这不是问题。:/


感谢您的分享,但是此答案和原始问题都在这里出现。

这个问题在superuser.com上完全是个话题
Kurt Pfeifle,2010年

1

尝试命令nmblookup marina。它查询NetBIOS名称空间(不是DNS),并应返回码头的IP地址。

如果它可以正常工作,并且您确定IP地址是静态的,则可以在中使用该地址smbmount

如果可行,并且您的DHCP地址不时更改,请尝试以下命令:

nmblookup marina \
   | grep -vi querying \
   | grep marina \
   | awk '{print $1}' \
   | uniq

它应该返回IP地址。如果可行,您可以更改命令

你可以做

sudo smbmount //marina/resource_library \
   /mnt/resource_library \
   -o ip=$(nmblookup marina \
        | grep -vi querying \
        | grep marina \
        | awk '{print $1}' \
        | uniq),username=max,password=foobar,r

当然,这是一个很长的命令要记住。但是,你可以定义一个“别名”命名mntmarina你的.bashrc,而你只需要键入mntmarina...


1

用我的IP地址替换主机名对我有用。我的股份称为“ schnack”。

sudo smbmount //192.168.0.103/schnack ~/pipmnt
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.