我使用佔位符來表示真實的伺服器名稱和資料夾,但是,我已嘗試使它們盡可能代表真實名稱,因此請注意我的大小寫和標點符號,以防萬一與我的問題有關。
我在跑烏班圖16.04。
我已經安裝了自動檔案系統和達夫檔案系統2。
以下命令掛載成功:
mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount
它要求我輸入使用者名稱和密碼,[email protected]
然後myypassword
就可以成功安裝。
這告訴我幾件事:
- 我的 WebDAV 伺服器正在運行並且配置正確。
- HTTPS 運作正常。
- 我的憑證已成功驗證。
所以現在我正在嘗試讓它與自動檔案系統。
這是我的文件:
/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"
我是如何修復它的:
我遇到了幾個問題。
- 我找到了解析問題的「權威」指南自動.伺服器名稱.mount在Google結果的第四頁:這裡。所以你確實需要使用反斜線轉義其他冒號。
- 我必須打開詳細日誌記錄才能找到我的第二個問題(這非常糟糕)。打開/etc/autofs.conf並找到顯示以下內容的行記錄=無。取消註釋並更改沒有任何到冗長的。重新加載 autofs :$ sudo /etc/init.d/autofs 重新加載然後檢查其中的錯誤/var/log/系統日誌(日誌檔案位置和名稱因發行版而異)。
- 系統日誌告訴我在地圖來源中找不到關鍵的「儲存資料夾」。 現在公平地說,我的儲存資料夾名字有點長而且複雜。但我檢查了一遍又一遍,一次又一次地發現它實際上是一個字母拼寫錯誤。這是我的第二個問題/etc/auto.伺服器名稱.mount我實際上寫過類似的東西儲存資料夾代替儲存資料夾,很明顯當我試圖訪問時/伺服器名稱.mount/儲存資料夾它在設定檔中沒有找到任何對此的引用。
- 修復此問題後,詳細日誌記錄給了我下一個線索,因為它現在顯示了錯誤無法向伺服器進行身份驗證:拒絕基本質詢。所以這告訴我現在遇到了身份驗證錯誤。我打開了/etc/davfs2/秘密並開始四處探索,這次我實際上是 RTFM,因為答案就在包含的文檔中秘密文件。它準確地說明了哪些字元需要用反斜線轉義,事實證明我的用戶名中的@不是問題,但我的密碼中確實有一個有問題的字元!事實證明,將密碼放在引號中是解決該問題的另一種更簡單的方法,並且我也將用戶名@域放在引號中只是為了更好的措施。
現在一切正常了!