Debian

無法在 fstab 中使用共享名稱中的空格掛載 cifs 共享

  • January 24, 2020

我正在執行 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!你是我唯一的希望!

提前致謝!

(編輯:在其中一個範例中刪除了錯誤的引號)

替換空格\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 碼。

引用自:https://serverfault.com/questions/1000200