Como copiar as permissões de um arquivo para outro?

4

Digamos que eu tenha dois arquivos:

-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

Gostaria de dar patch.log as mesmas permissões que index.php .

Eu posso fazer isso manualmente:

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

Mas isso deve fazer parte de um script, no qual não sei necessariamente quais são as permissões exatas de index.php .

Existe uma maneira de copiar as permissões de um determinado arquivo para outro arquivo?

    
por Benjamin 17.12.2013 / 12:37

2 respostas

11

Você pode usar um arquivo como um arquivo de referência para chown e chmod

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

Está tudo nas páginas man btw

chown

--reference=RFILE use RFILE’s owner and group rather than specifying OWNER:GROUP values

chmod

--reference=RFILE use RFILE’s mode instead of MODE values

    
por 17.12.2013 / 12:44
5

Se houver possibilidade de ACLs estendidas nos arquivos em questão, é melhor usar getfacl / setfacl:

getfacl index.php | setfacl --set-file=- patch.log
    
por 17.12.2013 / 17:50