autofs 和 WebDAV - 如何讓它們一起工作?

autofs 和 WebDAV - 如何讓它們一起工作?

我使用佔位符來表示真實的伺服器名稱和資料夾,但是,我已嘗試使它們盡可能代表真實名稱,因此請注意我的大小寫和標點符號,以防萬一與我的問題有關。

我在跑烏班圖16.04
我已經安裝了自動檔案系統達夫檔案系統2

以下命令掛載成功:

mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount

它要求我輸入使用者名稱和密碼,[email protected]然後myypassword就可以成功安裝。

這告訴我幾件事:

  1. 我的 WebDAV 伺服器正在運行並且配置正確。
  2. HTTPS 運作正常。
  3. 我的憑證已成功驗證。

所以現在我正在嘗試讓它與自動檔案系統

這是我的文件:

/etc/auto.master

/Server.mount /etc/auto.Servername.mount

/etc/auto.伺服器名稱.mount

storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder

/etc/davfs2/秘密

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

透過此設置,如果我嘗試瀏覽到/Servername.mount/storage-folder,我會得到一個No such file or directory error.

現在我 95% 確定我的問題是語法錯誤或身份驗證錯誤。有不是很多在網路上可以找到有關基於 WebDAV 的 autofs 實作的範例,其中一些顯示了衝突的語法。儘管如此,我已經嘗試了我能想到的一切。

我認為文件中的冒號可能auto.Servername.mount會搞砸解析,所以我嘗試了以下所有組合:

storage-folder -fstype=davfs,ro https://servername.mydomain.com:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333:/Shared.Folder

如果這不是導致問題的原因,那麼我認為這可能與該文件有關secrets。所以我也為我嘗試過這個secrets

/Servername.mount/storage-folder [email protected] mypassword

由於我習慣於使用基於 cifs 的 autofs 掛載的憑證文件,因此我也在我的auto.Servername.mount文件中嘗試過,只是為了好玩:

storage-folder -fstype=davfs,ro,credentials=/etc/credentials.Servername.mount https://servername.mydomain.com:3333/Shared.Folder

簡單地credentials.Servername.mount說:

[email protected]  
Password=mypassword  

我還嘗試使用“credentials.Servername.mount”:

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

什麼都不起作用。

所以我覺得我在這裡缺少一些小但重要的語法或配置。我絕望地來到你身邊。任何幫助,將不勝感激!

答案1

我成功了。

作為參考,這是一個工作自動檔案系統網路DAV設定

安裝先決條件

$ sudo apt-get install autofs
$ sudo apt-get install davfs2

/etc/auto.master

/Server.mount /etc/auto.Servername.mount

/etc/auto.伺服器名稱.mount

storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder

注意:根據您的需求將“ro”[只讀]更改為“rw”[讀寫]。

/etc/davfs2/秘密

/Server.mount/storage-folder "[email protected]" "mypassword"

我是如何修復它的:

我遇到了幾個問題。

  1. 我找到了解析問題的「權威」指南自動.伺服器名稱.mount在Google結果的第四頁:這裡。所以你確實需要使用反斜線轉義其他冒號。
  2. 我必須打開詳細日誌記錄才能找到我的第二個問題(這非常糟糕)。打開/etc/autofs.conf並找到顯示以下內容的行記錄=無。取消註釋並更改沒有任何冗長的。重新加載 autofs :$ sudo /etc/init.d/autofs 重新加載然後檢查其中的錯誤/var/log/系統日誌(日誌檔案位置和名稱因發行版而異)。
  3. 系統日誌告訴我在地圖來源中找不到關鍵的「儲存資料夾」。 現在公平地說,我的儲存資料夾名字有點長而且複雜。但我檢查了一遍又一遍,一次又一次地發現它實際上是一個字母拼寫錯誤。這是我的第二個問題/etc/auto.伺服器名稱.mount我實際上寫過類似的東西儲存資料夾代替儲存資料夾,很明顯當我試圖訪問時/伺服器名稱.mount/儲存資料夾它在設定檔中沒有找到任何對此的引用。
  4. 修復此問題後,詳細日誌記錄給了我下一個線索,因為它現在顯示了錯誤無法向伺服器進行身份驗證:拒絕基本質詢。所以這告訴我現在遇到了身份驗證錯誤。我打開了/etc/davfs2/秘密並開始四處探索,這次我實際上是 RTFM,因為答案就在包含的文檔中秘密文件。它準確地說明了哪些字元需要用反斜線轉義,事實證明我的用戶名中的@不是問題,但我的密碼中確實有一個有問題的字元!事實證明,將密碼放在引號中是解決該問題的另一種更簡單的方法,並且我也將用戶名@域放在引號中只是為了更好的措施。

現在一切正常了!

相關內容