18.7: /var/lib/postgresql is 755 instead of 1777, breaks running as an arbitrary user
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- docker, postgresql
- Domínio
- databases
Direção de pesquisa
Comece lendo a seção do Dockerfile que define o modo 1777 para /var/lib/postgresql e a descrição da issue sobre a configuração de tmpfiles e a etapa pós-instalação do postgresql-common. Crie e execute a imagem baseada em Debian postgres:18.7 com um UID arbitrário, verificando o modo do diretório e se a inicialização é bem-sucedida. A tarefa estará concluída quando o diretório continuar utilizável por um UID arbitrário e o contêiner iniciar corretamente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
We noticed this when our CI broke after postgres:18 moved to 18.7. We run the image as a service container on OpenShift, which starts it with an arbitrary UID, and it now exits at once:
$ docker run --rm --user 1000770000:0 -e POSTGRES_PASSWORD=x postgres:18.7
mkdir: cannot create directory ‘/var/lib/postgresql/18’: Permission denied
/var/lib/postgresql was 1777 and is now 755:
$ docker run --rm --entrypoint stat postgres:18.6 -c %a /var/lib/postgresql
1777
$ docker run --rm --entrypoint stat postgres:18.7 -c %a /var/lib/postgresql
755
It looks like postgresql-common 294 resets it: it now ships /usr/lib/tmpfiles.d/postgresql-common.conf with d /var/lib/postgresql 0755 postgres postgres, and its postinst runs systemd-tmpfiles --create, after the Dockerfile's install --mode 1777. The alpine variant still has 1777.
- Linguagem predominante
- Shell
- Estrelas
- 2.5k
- Forks
- 1.2k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de docker-library/postgres
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 80/100
docker-library/postgres#1425 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
docker-library/postgres#1420 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
docker-library/postgres#1419 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
docker-library/postgres#1389 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
docker-library/postgres#1356 · 5 comentários · 7 reações ·
Todas as issues de docker-library/postgres
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
raetha/wyzesense2mqtt#116 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
catppuccin/tmux#608 ·
-
area:linux source:reader type:content-error
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
stephrobert/blog-roadmap#185 ·