2017-10-06 140 views
2

在Windows 10上運行bash時,下面的簡單語法在SSH連接到我的web服務器時工作,但不是當我退出並且在本地機器上時。它不會給我一個錯誤,但我可以看到權限不變。我必須檢查我是否在我的電腦上以管理員身份設置。這是一個錯誤還是僅僅是本地操作系統是Windows的一個後果?如果是後者,它會讓我質疑在Windows上使用bash的價值,如果這樣的常見操作不起作用。chmod WSL(Bash)不起作用

$chmod 644 filename 
+0

什麼是你要修改的文件的路徑?它是否在諸如「/ mnt/c」之類的drvfs mount上?如果是這樣,Unix權限幾乎不適用於Windows文件系統中的文件。它可以控制的只是只讀文件屬性,可以通過刪除每個人的寫入訪問權限來設置該屬性。 'chmod 555 filename'。隱含地說,每個人都將具有讀取和執行訪問權限,因爲沒有Windows文件屬性對應於此。 – eryksun

+0

MINGW32:/ c/Users/joe/working2 – joe5

+0

「MINGW32:/ c」看起來像MSYS對我(例如來自Git)的bash,而不是WSL bash。它與此類似,只是它試圖根據諸如.EXE和.DLL之類的文件擴展名和'PATHEXT'擴展名來更聰明地執行可執行文件,並且它僅通過用戶權限控制只讀標誌,而不是一致地要求用戶,組和其他。 – eryksun

回答

0

有一個更新WSL最近(source),它可以讓你改變權限的文件(內幕建設17063)。

所有你需要做的就是運行:

sudo umount /mnt/c 
sudo mount -t drvfs C: /mnt/c -o metadata