免责声明:我对 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
答案2
在 RHEL 上,我必须编辑文件 /etc/request-key.conf 并在文件末尾添加这两行。
create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k