Os arquivos dentro da pasta mudam suas permissões

0

Estou lutando com o seguinte problema. Eu li o seguinte guia: Obtendo novos arquivos para herdar permissões de grupo no Linux No entanto, isso não me ajudou.

(pgcluu é um programa de monitoramento de cluster do postgresql)

Estou usando Debian server

Eu tenho uma pasta /var/www/pgcluu

Dentro dessa pasta eu tenho stats reports pastas. Eu alterei a permissão e a propriedade stats da pasta para o postgres. chmod -R postgres:postgres /var/www/pgcluu (então a pasta completa é dona do postgres)

O

pgCluu, por outro lado, está coletando dados e está gerando arquivos dentro da pasta stats . Procurando algo parecido. %código% basicamente /var/www/pgcluu/stat/2018/04/04/09 Dentro da pasta /year/month/day/hour/ eu tenho arquivos como

-rw-r-----+ 1 postgres postgres    44 Apr  4 10:20 pg_stat_connections.csv
-rw-r-----+ 1 postgres postgres   940 Apr  4 10:20 pg_stat_database_conflicts.csv
-rw-r-----+ 1 postgres postgres  2479 Apr  4 10:20 pg_stat_database.csv
-rw-r-----+ 1 postgres postgres     1 Apr  4 10:20 pg_stat_replication.csv
-rw-r-----+ 1 postgres postgres     0 Apr  4 10:20 pg_stat_statements.csv
-rw-r-----+ 1 postgres postgres    88 Apr  4 10:20 postgresql.auto.conf
-rw-r-----+ 1 postgres postgres 21425 Apr  4 10:20 postgresql.conf
-rw-r-----+ 1 postgres postgres 70009 Apr  4 10:20 sysinfo.txt

Este é apenas um exemplo, há muitos outros arquivos.

Os arquivos são gerados por hour a cada minuto (você pode alterá-lo) Mas eles precisam ser reescritos, portanto, ele precisa ter pgcluu_collectd de permissões para fazer isso. (O proprietário e o grupo devem ler e escrever nos arquivos) Cada vez que eu mesmo o altero, o pgcluu_collectd cria os arquivos com rw- rw- --- novamente.

Portanto, existe um espaço em que os arquivos herdariam as permissões da pasta rw- r-- ---

root@p12: getfacl /var/www/pgcluu/stats/

# file: var/www/pgcluu/stats/
# owner: postgres
# group: postgres
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::r-x
default:group:postgres:r-x
default:mask::r-x
default:other::---

e no arquivo

root@p12:getfacl /var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf 
# file: var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf
# owner: postgres
# group: postgres
user::rw-
group::r-x          #effective:r--
group:postgres:r-x      #effective:r--
mask::r--
other::---
    
por TheSebM8 04.04.2018 / 09:26

1 resposta

0

A saída getfacl do diretório explica isso. A quarta linha:

# flags: -s-

indica que o diretório tem o setgid bit definido, então todos os arquivos gerados nele terão o mesmo grupo que este diretório. Novos subdiretórios herdarão o grupo e o setgid bit. Isso não está relacionado às ACLs; isso é apenas um chmod 2755 básico.

No final da listagem, há várias linhas marcadas com a palavra-chave default :

default:user::rwx
default:group::r-x
default:group:postgres:r-x
default:mask::r-x
default:other::---

Eles especificam com mais detalhes as permissões que os novos arquivos ou subdiretórios receberão. Nesse caso, ele impõe as permissões do grupo r-x ao proprietário do grupo POSIX padrão e adiciona permissões r-x explícitas para o grupo postgres , independentemente de o criador pertencer ou não a esse grupo. Se você precisar que os arquivos tenham acesso de gravação de grupo, eles precisam ser alterados.

Tente isto:

setfacl -m g::rwX,d:g::rwX,d:g:postgres:rwX /var/www/pgcluu/stats

Com o Linux setfacl , a parte mask da ACL deve ser atualizada automaticamente para incluir o acesso de gravação. (Com um sistema POSIX mais estrito, você teria que adicionar d:m:rwx à especificação da ACL para ajustar explicitamente a máscara ACL.)

O X maiúsculo indica "permissão de execução, mas apenas para diretórios, e também para arquivos que já possuem permissão de execução para alguém".

Se o diretório (e quaisquer novos arquivos criados nele) tiver as permissões desejadas após essa modificação, considere adicionar a opção -R para fazer a alteração recursivamente para todos os arquivos e diretórios em /var/www/pgcluu/stats .

    
por 04.04.2018 / 10:12