将文件的所有者权限复制到组权限

如何将文件的用户/所有者权限复制到组的权限?

例如,如果权限是755我希望他们成为775。

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

奖金,如果我可以对目录中的所有文件recursion地做到这一点。

(也就是说,对于每个文件,拥有者权限都被复制到组权限中,每个文件可能具有不同的权限。)

您可以使用g=u使群组perms与用户perms相同

 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 

并recursion地

 chmod -R g=u * 

或者用于某些文件规范

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

chmod manpage是你的朋友。

正如人们所说,更改文件权限可能是危险的。 伟大的权力是伟大的责任,所有这些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的回答,为更好的方式做这个!

首先,你需要列出你的权利。

 ls -l /your_directory/ -rwxr-xr-x 1 57 Jul 3 10:13 file1 -rwxr-xr-x 1 57 Jul 3 10:13 file2 

翻译结果在数值许可使用这个:R = 4,W = 2,X = 1。

所以在这2个文件的权限是755。

得到你的权利之后,你必须使用chmod命令来改变你想要的方式:

 chmod 775 /your_directory/ 

这个命令只会改变目录的权限,而不会改变目录里的文件。

如果你想改变里面的权利,那么做这个命令:

 chmod 775 /your_directory/ -fR 

-fR将强制recursion。 (只有在您确定要应用的权利的情况下才可以使用,而且在目录中的文件也是如此)。

如果您只想更改file1上的权限,则:

 chmod 775 /your_directory/file1 

而这种cookies崩溃的方式!

请小心,滥用此命令可能会破坏您的所有操作系统权限并导致故障。 /!\

ps:看那里找出更多关于chmod的信息。

希望这会帮助你。