為某個路徑下的所有目錄新增讀取權限

為某個路徑下的所有目錄新增讀取權限

我想為下面編寫的路徑中的所有目錄添加(而不是修改其他檔案權限)​​。就像是chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

路徑

/home/mDB/admin/KNUCKLES/dbs/

我嘗試使用在論壇中找到的這個命令,但對我不起作用。

chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R

我只想更改所有使用者的權限,而不是檔案/目錄所有者或群組的權限。

提前致謝。

答案1

你可以說:

chmod -R o+r /home/mDB/admin/KNUCKLES/dbs/

這會給遞歸地允許其他的,即不是所有者/組。

編輯:根據您的評論,似乎目錄的權限是問題,而不是檔案的問題。你可以說:

chmod o+rx /home/mDB/{admin,admin/KNUCKLES,admin/KNUCKLES/dbs}

請注意,由於這些是目錄,因此您需要將執行位元設為x開啟。沒有這個,r就沒有任何意義!

答案2

您必須將其拆分並發出多個命令。

chmod -R xx4 /home/
chmod -R xx4 /home/mDB/
chmod -R xx4 /home/mDB/admin/
chmod -R xx4 /home/mDB/admin/KNUCKLES/
chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

比我擁有更高級命令列功能的人可能知道更短的方法。

答案3

若要僅為目錄設定執行位,請執行下列操作:

chmod -R a+X dir

來自 man chmod:

僅當檔案是目錄或已具有某些使用者的執行權限 (X) 時才執行/搜尋

回答來自:https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files

相關內容