我希望擁有給定的資料夾和檔案及其所有後代的寫入權限。
我希望所有文件和資料夾都可以遞歸地授予以下權限:777
所以我嘗試:
chmod -r 777 ~/Folder/app/
然後我得到了類似的東西:
chmod: 777: No such file or directory
然後我確實去~/Folder/app/
嘗試ls -la
檢查權限。
我得到:
.: Permission Denied
然後我做了:
sudo ls -la
然後我看到..特殊資料夾有:777權限,但沒有其他權限。
如何在不刪除~/Folder/app/
資料夾的情況下恢復此狀態?
我是說: 我們怎麼能讓 ls 再次工作而無需在該資料夾中輸入 sudo ?並以某種方式修復我使用 -r 而不是 -R 造成的混亂?
答案1
正如我在評論中指出的,您需要提供--recursive
或-R
(大寫 R),chmod
以便它遞歸地工作。
-r
(小寫R)意味著刪除讀取權限(至少據我了解)。然後該操作將被應用到下一個參數,即777
.
因此,您的呼叫將從名為 的檔案中刪除讀取權限777
。該文件不存在,因此出現錯誤訊息
chmod: 777: No such file or directory
我不確定是否chmod
中止或是否嘗試過刪除讀取權限來自下一個範圍~/Folder/app/
。
在後一種情況下,甚至會消除從您的資料夾讀取權限,完全執行對面的你最初想要的:)
現在,要解決這個問題,只需使用正確的句法:
chmod --recursive 777 ~/Folder/app/
這將重新新增讀取權限(並將 777 模式套用至該資料夾的所有子資料夾)。請注意丹尼斯威廉森的評論,您幾乎不想將模式設為 777。