当前位置: 首页>>技术教程>>正文


安装 cifs 驱动器给出:安装错误(22):无效参数

,

问题描述

我正在尝试运行:

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgres,file_mode=0660,dir_mode=0770

但是我不断收到以下错误:

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

我究竟做错了什么?

最佳回答

也许这有助于此,mount error(22): Invalid argument …可能的错误是 \nargument/s (mode) on mount 命令。

  1. 检查您遇到的错误日志。

    \n

    tail -f  /var/log/kern.log \n
  2. 删除无效参数

次佳回答

另一个可能的原因是 /etc/fstab 中存在 sec=ntlm,它与较新的 SMB 协议(如 SMB3)不兼容。

虽然不是 OP 的情况,但这也可能导致 mount error(22): Invalid argument 错误,就像我在升级旧服务器后所做的那样。

尽管 kern.log 包含对 specify vers=1.0 on mount 的建议,但删除或更改 sec=ntlm 可能更安全。也许使用默认值以允许自动协商 SMB 版本和安全性,或者指定兼容的选项,例如 vers=3.0,sec=ntlmssp

显然这取决于您的 SMB 服务器的功能,但除非必要,否则我会尽量避免使用 vers=1.0

第三种回答

我在 Arch Linux 上遇到了同样的问题,日志中有这条消息:

kernel: CIFS VFS: cifs_mount failed w/return code = -22

对我来说,解决方案是指定旧版本的 cifs(默认为 3.0):

/etc/fstab :

//my-router/share /media/share cifs ver="2.1",rw,soft,uid=ele,gid=ele,file_mode=0770,dir_mode=0770,credentials=/etc/router-credentials.conf 0 0

第四种回答

就我而言,这个问题是因为我挂载了一个充满符号链接的目录。在调查了 Windows 中的符号链接之后,我得到了它们的 “real” 路径并挂载了它们。

第五种回答

我使用了错误的 URL。应该是://user.my-backup.com/backup

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13403.html,未经允许,请勿转载。