无法在 fstab 中挂载共享名称中有空格的 cifs 共享

无法在 fstab 中挂载共享名称中有空格的 cifs 共享

我正在运行 Debian Squeeze 系统并尝试在 /etc/fstab 中挂载 Windows 共享。我有一个现有的 cifs 挂载正在运行,但这是一个简单的 //xx.xx.xx.xx/sharename 情况。然而,第二个不起作用。

问题 - 第二个共享在路径中有空格...多个!

fstab 中的行是:

//servername.org.au/ABC/Company Services/Department Services/Area Services/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

到目前为止我已经尝试过:

fstab 中的路径名用双引号引起来

//servername.org.au/ABC/"Company Services/Department Services/Area Services/Restricted"    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

用 \040 替换空格(像在 Linux 中一样)

//servername.org.au/ABC/Company\040Services/Department\040Services/Area\040Services/Restricted     /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

使用反斜杠退出

//servername.org.au/ABC/Company\ Services/Department\ Services/Area\ Services/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

这些都不起作用。

我已经验证该目录是有效的,我尝试用它解析的 IP 替换 servername.org.au,但这也无济于事。

我在 kern.log 中遇到的错误是:

内核:[1830446.002198] CIFS VFS:cifs_mount 失败,返回代码 = -22

就是这样——没有太多细节可讲...

我对这两个挂载使用完全相同的语法和凭据。我知道凭据有效且可以工作,因为我使用它们连接到我的 Windows 机器上的同一个共享。我想更改共享名称,但不幸的是它不是我的服务器之一,他们不会这么做。

所以我要把这两个丹麦酥皮绑在我头的一侧,然后说:

帮帮我吧 Obi-Stack-Exchange!你是我唯一的希望!

提前致谢!

(编辑:删除了其中一个示例中错误的引号)

答案1

用 替换空格\040实际上是正确的做法。

它对您不起作用的原因可能是因为后面有(忘记了?)引号/Restricted

//servername.org.au/ABC/Company\040Services/…/Restricted"    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

将其更改为:

//servername.org.au/ABC/Company\040Services/…/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

(请注意,为了便于阅读,我稍微缩短了路径。)


背景: 040是八进制数字中空格的 ASCII 码。

相关内容