18.7: /var/lib/postgresql is 755 instead of 1777, breaks running as an arbitrary user
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- docker, postgresql
- Bereich
- databases
Rechercherichtung
Lies zunächst den Abschnitt im Dockerfile, der /var/lib/postgresql auf den Modus 1777 setzt, sowie die Beschreibung des Issues zur tmpfiles-Konfiguration und zum Post-Installationsschritt von postgresql-common. Baue das Debian-basierte Image postgres:18.7 und führe es mit einer beliebigen UID aus. Prüfe dabei den Verzeichnismodus und ob der Start erfolgreich ist. Erledigt ist die Aufgabe, wenn das Verzeichnis für eine beliebige UID weiterhin nutzbar ist und der Container erfolgreich startet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Shell
- Sterne
- 2.5k
- Forks
- 1.2k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus docker-library/postgres
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 80/100
docker-library/postgres#1425 · 2 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
docker-library/postgres#1420 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
docker-library/postgres#1419 · 2 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
docker-library/postgres#1389 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
docker-library/postgres#1356 · 5 Kommentare · 7 Reaktionen ·
Alle Issues in docker-library/postgres
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
raetha/wyzesense2mqtt#116 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
catppuccin/tmux#608 ·
-
area:linux source:reader type:content-error
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
stephrobert/blog-roadmap#185 ·