Agentic Research

File Permission(檔案權限)

又稱:檔案權限 · chmod · permission denied · rwx · 執行權限

附在每個檔案上的規則,寫明誰可以讀它、改它、執行它 —— 你碰檔案時系統檢查的第一道關。

你會在什麼時候遇到它

兩個高頻場景。一:下載腳本後 ./run.sh 得到 Permission denied —— 多數時候不是你權力不夠,而是檔案缺「可執行」權限,chmod 一個詞就解決。二:設定 SSH 金鑰或 .env 時,權限太開放,SSH 會直接拒絕使用那把私鑰;.env 的權限太鬆,任何本機程式都讀得到你的金鑰。AI agent 沙箱說的「哪些目錄可寫」,底層也是同一套機制。

打個比方

像一份文件上蓋的三圈章:第一圈寫「擁有者能做什麼」、第二圈「同群組的人能做什麼」、第三圈「其他所有人能做什麼」。ls -l 開頭的 rwxr-xr-- 就是把這三圈章攤開來給你讀。

最小範例

echo 'echo hello' > demo.sh
ls -l demo.sh        # -rw-r--r--:能讀能寫,沒有 x(執行)
./demo.sh            # permission denied
chmod +x demo.sh     # 加上執行權限
./demo.sh            # hello
rm demo.sh           # 清理掉

ls -l 的前十個字元就是權限:第一個是檔案類型,後面三組 rwx 依序是「擁有者/同群組/其他人」,短橫線表示不允許。r=讀、w=改、x=執行(對資料夾的意思是「可以進去」)。chmod 600 表示「只有擁有者能讀寫」—— .env 和 SSH 私鑰的標準配置。

最常搞錯的地方

  • 看到 Permission denied 就回答 sudo。先讀 ls -l 的輸出:多數情況是「檔案缺 x」或「你不是擁有者」—— chmod 和 chown 才是對症的藥,提權只是繞過症狀、把真正的原因埋掉。
  • 用 chmod 777 一勞永逸「解決」權限問題。那等於開放給所有程式(包括你放進來的 AI agent)修改這個檔案;SSH 看到太開放的私鑰則會直接拒絕使用。太緊會報錯,太鬆會出事故。

相關詞條

下一步