为什么我在尝试挂​​载 SMB 网络驱动器时出现 [mount error(22): Invalid param]?

为什么我在尝试挂​​载 SMB 网络驱动器时出现 [mount error(22): Invalid param]?

免责声明:我对 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

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

sudo mount -t cifs //192.168.0.2/CompRaid03 /mnt/myshare -o username=myuser

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

mount error(22): Invalid argument

dmesg | tail 返回:

[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 实现的一个缺陷或特性。

答案1

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

答案3

一个可能的原因是:系统无法解析服务器名称。
挂载共享文件夹时出现以下错误。

#sudo mount -a
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

/var/log/kern.log:
在此处输入图片描述

编辑 /etc/resolv.conf,添加search "server",问题解决。 在此处输入图片描述

相关内容