Você não pode. Bem, não automaticamente de qualquer maneira. Você pode , no entanto, impor permissões de grupo, que com um planejamento cuidadoso e umask apropriada, podem resolver a maioria dos problemas de permissões. Se você definir o bit setgid no diretório /var/www
, ele garantirá que todos os novos arquivos criados sob ele sejam de propriedade do grupo devel
.
Observe que, dependendo de quais sinalizadores você usa, rsync
pode substituir esse comportamento e replicar a propriedade dos arquivos de origem.
Para definir o bit setgid:
$ ls -ld test drwxr-xr-x 2 insyte insyte 4096 2009-08-13 04:39 test $ chmod g+s test $ ls -ld test drwxr-sr-x 2 insyte insyte 4096 2009-08-13 04:39 test
Demonstração do comportamento:
$ id uid=1000(insyte) gid=1000(insyte) groups=4(adm),20(dialout),24(cdrom) $ ls -ld test drwxr-xr-x 2 insyte backup 4096 2009-08-13 04:39 test $ touch test/file1 $ ls -l test total 0 -rw-r--r-- 1 insyte insyte 0 2009-08-13 04:43 file1 $ sudo chmod g+s test $ ls -ld test drwxr-sr-x 2 insyte backup 4096 2009-08-13 04:43 test $ touch test/file2 $ ls -l test total 0 -rw-r--r-- 1 insyte insyte 0 2009-08-13 04:43 file1 -rw-r--r-- 1 insyte backup 0 2009-08-13 04:44 file2
O efeito também é recursivo; qualquer novo diretório criado depois que você definir o bit setgid também terá o bit setgid definido.
Uma alternativa a essa abordagem, é claro, seria uma tarefa cron executada a cada minuto e corrige as permissões nos arquivos em /var/www/
.