为什么这个 smbmount 尝试不起作用?

为什么这个 smbmount 尝试不起作用?

我可以成功访问我们的本地 samba 共享之一,该共享位于 Windows PC(称为 marina)上,如下所示:

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

所以,这有效。我现在试图将上述位置(marina 上的 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。我肯定犯了一些愚蠢的错误,有人能看出来吗?

欢呼吧,马克斯

答案1

我在 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 已分配给关联的 mac 地址作为固定网络 ip,因此它永远不会改变。所以现在我可以这样做

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

并且已排序。如果我要处理此 smb 共享的随机分配 IP,那么我不确定我会做什么,但幸运的是这不是问题。:/

答案3

尝试命令nmblookup marina。它查询 NetBIOS 命名空间(而不是 DNS)并应返回 marina 的 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...

答案4

用我的 IP 地址代替主机名对我来说很有效。我的共享名为“schnack”。

sudo smbmount //192.168.0.103/schnack ~/pipmnt

相关内容