Permissões padrão para arquivos dentro do diretório ao usar o rsync

1

Estou tentando configurar as permissões de arquivo que são definidas em diretórios e arquivos quando elas são criadas por um usuário / grupo específico, mas parecem estar tendo um problema.

Eu tentei definir o seguinte:

chmod 2770 /path/to/directory
chmod g+rwxs /path/to/directory

No entanto, quando eu criar um novo diretório dentro desse diretório, por exemplo

/path/to/directory/deletemeplease

deletemeplease terá permissões drwxr-sr-x

Todos os arquivos criados dentro de /path/to/directory/ têm permissões rw-r--r--

Eu também tentei definir ACLs para o diretório, como abaixo:

setfacl -dm u::rwx,g::rwx,o::r /path/to/directory

Ao definir a ACL, as permissões dos arquivos e diretórios criados se tornam rw-rw-r-- , o que está se aproximando, mas o bit de execução ainda não está sendo definido.

Há um passo que estou perdendo aqui?

EDITAR

A resposta vinculada está apenas explicando a diferença entre umask e chmod. Meu problema é que, depois de definir as permissões, elas não estão ocorrendo.

Quando um novo diretório ou arquivo é criado, estou esperando que as permissões sejam definidas como rwxrwxr-- . No entanto, quando um novo diretório é criado, o diretório tem permissões rwxr-sr-- . Quando um novo arquivo é criado, as permissões são rw-rw-r-- . Então, se um novo diretório for criado e contiver arquivos, os arquivos dentro do diretório recém-criado terão permissões rw-r--r-- , o que é muito estranho.

Acabei de descobrir que, ao criar arquivos e diretórios dentro do terminal, essas permissões estão sendo aplicadas conforme o esperado (menos o bit de execução dos arquivos). O comportamento estranho descrito acima está acontecendo quando os diretórios / arquivos estão sendo criados via rsync de um script que está sendo executado. O script está sendo executado via usuário www-data, que é o usuário e grupo do diretório para o diretório que tem o acls aplicado, então eles não devem ser aplicados quando o rsync for executado?

O script que está executando o rsync está usando a execução do seguinte comando:

rsync -rltgoDzvO /path/for/files/to/sync /path/to/directory
    
por nullReference 22.10.2017 / 18:17

0 respostas