Raspberry-Pi
更改文件夾的權限不起作用
使用 Raspbian Buster,我有 2 個使用者,root 使用者 (pi) 和我設置的使用者 (polysense)。我有一個在啟動時執行的腳本,該腳本歸 root 使用者所有。該腳本的一部分是它寫入 polysense 帳戶上的文件。但是,腳本執行時出現權限錯誤。我試過了:包含我需要寫入的文件的文件夾也是如此
sudo chmod 777 configSite
。configSite
當我查看權限時,它不會改變。我在這裡做錯了什麼?我期待看到
drwxr-xr-rwx
configSite 中的文件。pi@polysensesolutions:~ $ cd /home/polysense/ pi@polysensesolutions:/home/polysense $ sudo chmod 777 configSite pi@polysensesolutions:/home/polysense $ cd configSite pi@polysensesolutions:/home/polysense/configSite $ ls -l total 164 -rw-r--r-- 1 root root 1985 Sep 17 04:25 '>' drwxr-xr-x 3 polysense polysense 4096 Sep 2 16:33 configSite -rw-r--r-- 1 root root 143360 Sep 17 04:25 db.sqlite3 -rwxr-xr-x 1 polysense polysense 630 Sep 2 15:51 manage.py drwxr-xr-x 4 polysense polysense 4096 Sep 2 16:34 pages drwxr-xr-x 2 polysense polysense 4096 Sep 17 04:12 templates drwxr-xr-x 4 polysense polysense 4096 Sep 17 04:25 wifiApp
然後你執行
chmod 777 directory
,那麼只有目錄本身的權限被改變,而不是其中包含的文件。如果要更改目錄中包含的所有文件的權限,包括子目錄中的文件和子目錄本身,請使用:
chmod -R 777 directory
-R
呼叫遞歸模式。請注意,給予比必要更多的權限通常是不明智的。正常文件通常不應該具有執行權限,因為這些文件可能會被意外呼叫
bash
並將(非 shell 命令)內容輸入bash
.如果只想對給定目錄中的目錄設置權限,則需要
chmod
結合find
. 首先用於find
定位所有目錄,然後chmod
在這些目錄上執行:find directory -type d -exec chmod 777 {} +
-type d
搜尋目錄。
-exec
指示應在找到的文件名上執行命令。
{}
替換為找到的名稱。+
表示在執行之前可以將多個名稱替換到命令行中。您還有一個名為的文件
>
,這聽起來像是腳本中某處的錯誤…