为什么我在尝试挂​​载 SMB 网络驱动器时收到 [挂载错误(22):无效参数]?

Ste*_*eld 6 mount samba

免责声明:我对 Linux 很陌生:)

无论如何,继续:

我有一个新的 Ubuntu Server (12.04.1 LTS) 实例在我的网络上运行,我想将网络驱动器安装到服务器上,以便我可以访问内容。网络驱动器是运行 Darwin OS 的 SAMBA 兼容驱动器。

如果我运行以下命令:

smbclient -L //192.168.0.2 -U myuser

它提示我输入密码,然后显示类似于以下内容的输出:

Domain=[SERVER01] OS=[Darwin] Server=[@(#)PROGRAM:smbd  PROJECT:smbx-105.4.0]

Sharename       Type      Comment
---------       ----      -------
Comp Staff's Public Folder Disk
CompRaid03      Disk
Dropbox         Disk
Groups          Disk
IPC$            IPC
Public          Disk
Users           Disk
compstaff       Disk
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试安装 CompRaid03 共享时,使用以下命令:

sudo mount -t cifs //192.168.0.2/CompRaid03 /mnt/myshare -o username=myuser
Run Code Online (Sandbox Code Playgroud)

我收到相同的密码提示,但在输入正确的密码后,我收到此错误:

mount error(22): Invalid argument

留言 | 尾部返回:

[23576.037373] CIFS VFS: cifs_mount failed w/return code = -22

我不明白这个命令有什么问题。我设法使用基本相同的命令在我当前的(Windows 8)机器上安装了一个共享,但使用不同的 IP 地址和共享名称(显然)。我花了好几个小时试图解决这个问题,但无处可去。任何帮助或指示将不胜感激。

谢谢史蒂夫

编辑

正如所建议的,我也使用“user=”代替“username=”进行了验证:

sudo mount -t cifs //192.168.0.2/CompRaid03 /mnt/svnrepo -o user=myuser

这会导致相同的“无效参数”错误。

编辑 2

我觉得我应该补充一个问题,最后我无法弄清楚问题是什么,但是,我使用完全相同的命令在运行 Debian 的不同共享驱动器上安装共享,并且运行良好 - 我因此,只能假设它是 Darwin OS 正在使用的 SAMBA 实现的缺陷或特性。

小智 3

0 反对票

我找到了解决办法。添加选项 sec=ntlm - 这在手动挂载和 fstab 中都有效

fstab 条目现在是 - 网络 USB 驱动器 - 即连接到调制解调器的 USB 闪存驱动器

//192.168.0.1/USB /home/user/USB cifs sec=ntlm,uid=1000,gid=1000,guest,_netdev 0 0

基于来自http://ubuntuforums.org/showthread.php?t=2139090的感谢


小智 2

在 RHEL 上,我必须编辑文件 /etc/request-key.conf 并在文件末尾添加这两行。

create       cifs.spnego    * * /usr/sbin/cifs.upcall -c %k
create       dns_resolver   * * /usr/sbin/cifs.upcall %k
Run Code Online (Sandbox Code Playgroud)