Estou lutando com o seguinte problema. Eu li o seguinte guia: Obtendo novos arquivos para herdar permissões de grupo no Linux Ainda assim, isso não me ajudou.
(pgcluu é um programa de monitoramento de cluster postgresql)
estou usandoDebian server
eu tenho uma pasta /var/www/pgcluu
Dentro dessa pasta eu tenho
stats
reports
pastas. Alterei stats
a permissão e a propriedade da pasta para postgres.
chmod -R postgres:postgres /var/www/pgcluu
(portanto, a pasta completa é proprietária do postgres)
O pgCluu, por outro lado, está coletando dados e gerando arquivos dentro da stats
pasta. Parecendo algo parecido.
/var/www/pgcluu/stat/2018/04/04/09
basicamente /year/month/day/hour/
Dentro da hour
pasta 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, existem muitos outros arquivos.
Os arquivos são gerados a pgcluu_collectd
cada minuto (você pode alterar) Mas eles precisam ser reescritos, para isso precisa ter rw- rw- ---
permissões para isso. (O proprietário e o grupo devem ter lido e gravado nos arquivos) Cada vez que eu mesmo altero, o pgcluu_collectd cria os arquivos com rw- r-- ---
permissões novamente.
Portanto, existe uma maneira de os arquivos herdarem permissões da pasta/var/www/pgcluu/stats
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::---
A
getfacl
saída para o diretório explica isso. A quarta linha:indica que o diretório tem o
setgid
bit definido, portanto, todos os arquivos gerados dentro dele obterão o mesmo grupo que esse diretório possui. Novos subdiretórios herdarão o grupo e osetgid
bit. Isso não está relacionado a ACLs; isso é apenas um básicochmod 2755
.No final da listagem, existem várias linhas marcadas com a
default
palavra-chave:Eles especificam com mais detalhes as permissões que qualquer novo arquivo ou subdiretório receberá. Nesse caso, ele reforça as permissões do grupo rx para o proprietário do grupo POSIX padrão e adiciona permissões rx explícitas para o
postgres
grupo, quer o criador pertença a esse grupo ou não. Se você precisar que os arquivos tenham acesso de gravação em grupo, eles precisam ser alterados.Tente isto:
Com Linux
setfacl
, amask
parte da ACL deve ser atualizada automaticamente para incluir o acesso de gravação. (Com um sistema POSIX mais estrito, você teria que adicionard:m:rwx
à especificação 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
-R
opção de fazer a alteração recursivamente a todos os arquivos e diretórios em/var/www/pgcluu/stats
.