如何将文件的用户/所有者权限复制到组的权限?
例如,如果权限是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的信息。
希望这会帮助你。