題 無法更改Ubuntu Bash for Windows 10的文件權限


我試圖使用ssh實例,我收到了這個錯誤:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'privkey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "privkey.pem": bad permissions
Permission denied (publickey).

這很奇怪。我嘗試使用'chmod'命令更改權限,但這似乎不起作用。 bash給人的印像是命令已註冊,但我檢查了密鑰的權限,它仍然是777.我打開了我的git bash,我能夠ssh到我的實例沒有問題,並且權限不是777好。


4
2018-05-17 16:51


起源


所以 更新?如果你回滾會發生什麼? - DavidPostill♦
與此類似 superuser.com/q/1321072/726810 - Biswapriyo


答案:


如果您在Windows文件系統中引用文件,則默認情況下它們不會保留Linux權限。 但是,有一種方法可以實現這一點。編輯或創建(使用 sudo/etc/wsl.conf 並添加以下內容:

[automount]
options = "metadata"

關閉所有WSL實例並重新啟動實例 chmod 現在保留更改。


8
2017-07-27 07:52



這是絕對正確的答案! - kontinuity


Windows文件系統上的私鑰(在/ mnt /下)?在Windows上的Ubuntu上使用Bash上的chmod修改Windows文件系統上文件的權限。您必須將私鑰複製到您的WSL主目錄(〜)並在那裡執行。

這裡有一些討論: https://github.com/Microsoft/WSL/issues/81


6
2018-05-17 16:59



該討論至少有3頁。你真的應該引用你認為與作者相關的信息。 - Ramhound
事情就是這樣,我能夠毫無問題地進入我的實例。這才剛剛開始發生 - iii
@iii那麼最近發生了什麼變化?你安裝了任何Windows更新嗎?你有沒有更改任何配置文件?請編輯並更新您的問題。 - DavidPostill♦
@iii - 哪個更新?你的問題沒有提到它以前工作的事實。您的問題也沒有提及您最近安裝了更新。我不同意這個答案,因為鏈接來自WSL修改之前(我相信),以支持你想要做的事情。這是我敦促作者詳細解釋的原因 - Ramhound
@Ramhound,來自該討論的相關信息在我的回答中被解釋,我剛剛添加該鏈接作為參考源。相關信息在那裡的第一個答復中。我不知道提問者在Windows更新後才遇到這個問題,但是他們還沒有說明密鑰是否在Windows文件系統上,所以我仍然認為這是最可能的解釋,除非他們另有說明。 - erobertc