Linux

將文件的所有者權限複製到組權限

  • June 29, 2011

如何將文件的使用者/所有者權限複製到其組權限?

例如,如果權限是 755,我希望它們變為 775。

澄清:755 -> 775 123 -> 113 abc -> aac

如果我可以遞歸地對目錄中的所有文件執行此操作,則獎勵。

(也就是說,對於每個文件,所有者權限都被複製到組權限中。每個文件可能有不同的權限。)

您可以使用g=u使組權限與使用者權限相同

ls -l file
-rw------- 1 user users 0 Jun 27 13:47 file

chmod g=u file

ls -l file
-rw-rw---- 1 user users 0 Jun 27 13:47 file

並遞歸地

chmod -R g=u *

或某些文件規範

find /patch/to/change/perms -name '*.txt' -exec chmod g=u {} +

chmod 手冊頁是您的朋友。

正如人們所說,更改文件權限可能很危險。強大的力量伴隨著巨大的責任,以及所有這些 shizas。這是我的回答:

文件 /usr/bin/otog:

#!/bin/sh

f=$1
p=`stat -c "%a" $f`
chmod ${p:0:1}${p:0:1}${p:2:1} $f

範例用法:

find . -exec otog {} \;

使用stat獲取數字權限,使用chmod更改權限。

PS:請參閱 Iain 的答案以獲得更好的方法!

引用自:https://serverfault.com/questions/284428