无法挂载 samba 共享:挂载错误 (22)

无法挂载 samba 共享:挂载错误 (22)

我正在尝试安装受密码保护的 samba 共享。

当我在 nautilus 中通过 smb://server/share 访问共享时,没有密码/用户提示,似乎我以访客身份登录,我可以浏览文件夹,但无法访问我的文件(这些文件位于以下子文件夹中)看起来是空的)。

当我使用 nautilus GUI“连接到服务器”提示时,我得到“请验证您的用户详细信息”,尽管我绝对确定它们是正确的。

请注意,我可以通过以下方式毫无问题地访问共享和我的文件

smbclient -U user //server/share

另外,使用 MacOS 机器我也可以毫无问题地安装共享。

所以我尝试通过命令行挂载共享:

sudo mount -t cifs -o user=user //server/share  /mnt/sth

产生

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

这似乎是一个与内核相关的错误:https://bugzilla.redhat.com/show_bug.cgi?id=832741

所以我的问题是:解决这个问题最简单的方法是什么?有人经历过类似的事情吗?内核更新是否解决了这个问题(在 redheat 论坛上,它似乎对某些人有效,但对其他人无效)。难道我做错了什么?

我使用linux mint xcfe 13,我的内核版本是3.4.0。

编辑:2013 年 2 月 20 日,我仍然没有解决方案,感谢任何帮助。

答案1

尝试添加sec=ntlm到安装选项标志中,例如sudo mount -t cifs -o user=user,sec=ntlm //server/share /mnt/sth。为我解决了同样的问题。

来源:https://bbs.archlinux.org/viewtopic.php?id=160047

答案2

尝试vers在挂载上添加选项。例如:

sudo mount -t cifs -o user=user,vers=1.0 //server/share /mnt/sth

这对我使用 4.13.4-1-ARCH 有用

答案3

对于你的问题,有一件事让我感到困惑。 Mint 基于 Ubuntu,而 Ubuntu 又基于 Debian。那么你为什么要关注 Redhat bug呢?

如果您想以访客身份连接,请mount通过传递选项guestie来告知mount -o guest ...。否则它会假设需要凭据。

如果您绝对必须在命令行上提供密码,请记住转义任何特殊字符,例如\$,否则您最终会得到与服务器期望的密码不同的密码。


但是,我不建议使用其他答案中提出的方法,原因只有一个:fstab通常是世界可读的。因此你会泄露你的凭据。更好的方法是使用下面的方法:

  1. 添加fstab一行包含credentials=/etc/share-credentials.txt选项部分。例如//server/share /mnt/point cifs iocharset=utf8,rw,credentials=/etc/share-credentials.txt,file_mode=0660,dir_mode=0770 0 0
  2. 为凭据创建一个文件,如下所示:touch /etc/share-credentials.txt && chmod u=rw,g=r,o= /etc/share-credentials.txt然后对其进行编辑。
  3. 文件需要passwordusername共享。

凭据文件的格式如下所示:

username=johndoe
password=sekrit
domain=foobar

domain值是可选的。

答案4

在我的例子中,树莓派仍然出现了非常老的问题。

使用 UNC 将默认为 IPv6 并且会失败,因此使用 IPv4 地址而不是 UNC 解决了该问题。

任何一个

mount.cifs //IPv4_ADDRESS/服务名称 mount_directory

或者

mount.cifs -o ip=IPv4_ADDRESS //NETBIOS_name/service_name mount_directory

在 /etc/samba/ 中创建 lmhosts (man lmhosts) 文件应该可以解决这个问题,但在我的情况下什么也没做。

另外:请确保您输入 ntlm 而不是 nltm .......

相关内容