Chmod
授予目錄樹中“其他使用者”的讀取/執行權限
我的幾個 Linux 機器中有以下目錄樹:
/dir1/dir2/dir3/dir4/target
每個目錄
$$ 1-4 $$目錄下有幾個目錄,所有這些目錄(及其子目錄)都具有
750
權限。現在,我想others
瀏覽“目標”目錄及其子目錄。chmod -R o+rx
在 上執行/dir1/dir2/dir3/dir4/target
,確實將權限更改/dir1/dir2/dir3/dir4/target
為755
,但others
使用者無法轉到該目錄,因為r-x
對其父目錄沒有權限。在其中一台伺服器上,我通過授予以下權限來解決此問題:chmod -R o+x /dir1 chmod -R o+rx /dir1/dir2/dir3/dir4/target
考慮到上述命令將授予對 /dir 的所有子目錄的“遍歷”權限
$$ 1-4 $$同樣,是否有更好的命令僅在 /dir 上提供遍歷權限$$ 1-4 $$‘target’ 目錄的目錄和 rx 權限?
設置
x
“其他”/dir1/dir2/.../target
和所有中間目錄(根目錄除外)的r
權限,target
以及路徑末尾目錄的權限:dir=/dir1/dir2/dir3/dir4/target chmod o+r "$dir" while [ -n "$dir" ]; do chmod o+x "$dir" dir=${dir%/*} done
對於給定的目錄路徑,這將執行命令
chmod o+r /dir1/dir2/dir3/dir4/target chmod o+x /dir1/dir2/dir3/dir4/target chmod o+x /dir1/dir2/dir3/dir4 chmod o+x /dir1/dir2/dir3 chmod o+x /dir1/dir2 chmod o+x /dir1
通過
dir
刪除最後一個和之後的所有內容,變數值在循環的每次迭代中都會改變/
。