Bash

使用 find 更改特定文件的權限

  • February 18, 2021

假設我有一個名為權限的目錄,其中包含多個具有不同訪問權限的文件。

我想要做的是,如果文件具有類別的訪問權限others,我想為該類別授予相同的訪問權限group

範例1:如果 file_1 有r-x---r--,那麼我希望該文件具有權限r-xr--r--

範例2:

file_2 有r-xr----x權利,我希望它成為r-xr-x--x

範例3:

file_3 和 file_4 分別擁有rw---x---rwxr-----訪問,這些文件應該保持不變

我知道我可以使用thenfind搜尋此類文件以更改其值,但是如何僅搜尋具有與權限不同的權限的文件,並在找到時將其 訪問權限更改為匹配權限-perm 0740``-exec chomd --- \;``other``group``group``other

chmod可以自己做到這一點

chmod -R g+o dir

字母組合ugoa控制將更改哪些使用者對文件的訪問權限:

$$ … $$文件組 (g) 中的其他使用者,$$ … $$ 運算符 + 使選定的文件模式位添加到每個文件的現有文件模式位

$$ … $$ 字母rwxXst選擇受影響使用者的文件模式位

$$ … $$您可以準確指定其中一個字母,而不是一個或多個這些字母ugo:$$ … $$以及授予不屬於上述兩個類別的使用者的權限 (o)。

引用自:https://unix.stackexchange.com/questions/635239