使用 Ubuntu 16.04 和 Azure(同一區域)安裝錯誤 13
我正在嘗試使用他們在我的共享文件夾旁邊提供的連接字元串在 Azure 中安裝 samba 共享,並且在 16.04 中我收到“安裝錯誤 13,權限被拒絕”
安裝 cifs-utils 後,連接字元串的工作方式與我在Ubuntu Server 17.04中的預期完全一致
連接字元串:
sudo mount -t cifs //<HOSTNAME>.file.core.windows.net/<SHARENAME> /mnt/etclol -o vers=3.0,username=<HOSTNAME>,password=<PASSWORD KEY>,dir_mode=0777,file_mode=0777,sec=ntlmssp
我知道 16.04 中存在一個問題,該問題阻止了外部連接,以及基於 Azure 的 VM 的跨區域連接,這些 VM 處理 16.04 核心不支持的加密。所以我解決了這個問題:
我將儲存節點從 GRS(地理冗餘儲存)更改為 LRS(本地冗餘儲存),這使我從兩個區域(美國東部和美國中部)下降到只有美國中部(與我的 Web 伺服器相同)。
嘗試在同一區域和 Azure 內部安裝這些共享時,我不斷收到安裝錯誤 13。我看過的每一篇文章都讓我相信這種配置會起作用。
為了驗證這不是本地掛載問題,我嘗試了 chmod 的 0777 掛載以及我的主目錄中的目錄。我想這沒關係。
我唯一的其他選擇是將實時 16.04 伺服器遷移到 17.04,這會起作用,但會很蹩腳。
TL;DR:為什麼這在他們提議的基礎設施層次結構中不起作用。獎勵:有沒有辦法讓 16.04 在外部也能正常工作?
據我所知,Ubuntu 16.04 LTS 支持 SMB 3.0 的加密功能。
也許我們可以按照這些步驟來掛載 Azure 文件共享:
1.安裝
cifs-utils
包:sudo apt-get update #we should update it then install cifs-utils sudo apt-get install cifs-utils
2.為掛載點創建一個文件夾:
mkdir mymountpoint
3.使用 mount 命令掛載 Azure 文件共享:
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<share-name> ./mymountpoint -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
有關在 Linux 中使用 Azure 文件儲存的更多資訊,請參閱此連結。
==================================================== =========
更新:
目前,Azure 儲存帳戶支持“需要安全傳輸”,此功能用於 SMB 2.1、未加密的 SMB 3.0 以及某些版本的 Linux SMB 客戶端。
預設情況下,ubuntu 16.04 支持 SMB 3.0 的加密功能。所以我們應該關閉需要安全傳輸,並直接安裝它。
Ubuntu 16.04LTS 只能支持SMB 的密碼加密——因此訪問 Azure 文件儲存的憑據被加密,但數據本身以明文形式發送。
使用 Azure 文件服務時,如果啟用“需要安全傳輸”,任何未加密的連接都會失敗。這包括使用 SMB 2.1、沒有加密的 SMB 3.0 和一些 Linux SMB 客戶端風格的場景。預設情況下,“需要安全傳輸”選項處於禁用狀態。
關於 Linux 下的 Azure 文件儲存,請參考此連結。
有關更多資訊
Require secure transfer
,請參閱此連結。