如何将文件的用户/所有者权限复制到其组权限?
例如,如果权限是 755,我希望它们变成 775。
澄清:755 -> 775 123 -> 113 abc -> aac
如果我可以对目录中的所有文件递归执行此操作,那就更好了。
(也就是说,对于每个文件,所有者权限都被复制到组权限。每个文件可能具有不同的权限。)
答案1
你可以使用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 手册页是你的朋友。
答案2
答案3
首先,你需要列出你的权利。
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。
因此这两个文件的权限都是 755。
获得权限后,您必须使用 chmod 命令按您想要的方式更改权限:
chmod 775 /your_directory/
该命令只会改变目录的权限,而不会改变里面的文件的权限。
如果您也想更改内部内容,请执行以下命令:
chmod 775 /your_directory/ -fR
-fR 将强制递归。(仅当您确定要应用的权限以及目录内的文件时才使用它。)
如果您只想更改 file1 的权限,那么:
chmod 775 /your_directory/file1
这就是饼干碎裂的样子!
/!\ 请小心,滥用此命令可能会破坏所有操作系统权限并导致其故障。/!\
附言:看看那里了解有关 chmod 的更多信息。
希望对你有帮助。