Назад | Перейти на главную страницу

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

Скажем, у меня есть два файла:

-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 являются.

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

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

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

Это все на страницах руководства, кстати

Chown

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

chmod

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

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

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