Как скопировать права доступа одного файла к другому?

Как скопировать права доступа одного файла к другому?

Допустим, у меня есть два файла:

-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

Я хотел бы предоставить patch.logте же разрешения, что и index.php.

Я могу сделать это вручную:

chown webapp:webapp patch.log
chmod 664 patch.log

Но это должно быть частью сценария, и я не обязательно знаю, какие именно разрешения у него index.phpесть.

Есть ли способ скопировать разрешения одного файла на другой файл?

решение1

Вы можете использовать файл в качестве справочного файла как для chown, так и для chmod.

chown --reference=index.php patch.log
chmod --reference=index.php patch.log

Кстати, это все есть в man-страницах.

Чаун

--reference=RFILE использовать владельца и группу RFILE вместо указания значений OWNER:GROUP

чмод

--reference=RFILE использовать режим RFILE вместо значений MODE

решение2

Если есть вероятность наличия расширенных списков контроля доступа для рассматриваемых файлов, лучше использовать getfacl/setfacl:

getfacl index.php | setfacl --set-file=- patch.log

Связанный контент