如何将文件的权限复制到另一个文件?

Ben*_*rel 4 linux file-permissions

假设我有两个文件:

-rw-rw-r--  1 webapp webapp   215 Jun 21  2012 index.php
-rw-rw-rw-  1 root   root      58 Dec 17 11:02 patch.log
Run Code Online (Sandbox Code Playgroud)

我想patch.log授予与index.php.

我可以手动完成:

chown webapp:webapp patch.log
chmod 664 patch.log
Run Code Online (Sandbox Code Playgroud)

但这应该是脚本的一部分,我不一定知道 的确切权限index.php是什么。

有没有办法将给定文件的权限复制到另一个文件?

use*_*517 11

您可以使用一个文件作为 chown 和 chmod 的参考文件

chown --reference=index.php patch.log
chmod --reference=index.php patch.log
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这一切都在手册页中

chown

--reference=RFILE 使用 RFILE 的所有者和组而不是指定 OWNER:GROUP 值

修改

--reference=RFILE 使用 RFILE 的模式而不是 MODE 值


Mik*_*eyB 5

如果有问题的文件有任何扩展 ACL 的可能性,最好使用 getfacl/setfacl:

getfacl index.php | setfacl --set-file=- patch.log
Run Code Online (Sandbox Code Playgroud)