Wenn man podman run python:3.11 ausführt, gibt man einen
unqualifizierten Image-Namen an. Die vollständige Adresse hingegen
lautet eigentlich:
<registry>/<namespace>/<image>:<tag>
Fehlt der Registry-Teil, muss Podman selbst entscheiden, woher das Image stammt. Ohne klare Regeln könnte das Bild aus jeder beliebigen Registry geladen werden – öffentlich, privat, kompromittiert oder schlicht unerwartet.
Deshalb besitzt Podman eine explizite Mechanik zur Short-Name-Resolution. Sie ist sicherheitstechnisch so relevant, dass Podman den Benutzer beim ersten Auftreten eines Short-Names zur Bestätigung zwingt.
Beispiel:
podman pull python:3.11Podman durchsucht nun die in registries.conf definierten
Registries:
/etc/containers/registries.conf$HOME/.config/containers/registries.confEin typischer Abschnitt:
unqualified-search-registries = ["docker.io", "quay.io", "registry.example.com"]Die Reihenfolge ist verbindlich: Podman probiert sie der Reihe nach aus, sofern der Short-Name für die ausgewählte Registry bereits bestätigt wurde.
Früher gingen Engines stillschweigend davon aus, dass unqualifizierte
Namen aus docker.io stammen. Das war bequem, aber in
vielerlei Hinsicht gefährlich:
Podman löst das Problem, indem es beim ersten Auftreten eines Short-Names eine explizite Entscheidung verlangt.
Typische Ausgabe:
$ podman pull python
? Which registry do you want to use for python?
1. docker.io
2. quay.io
3. registry.internal
Enter choice:
Die Entscheidung wird anschließend persistiert in:
/etc/containers/short-name.conf$HOME/.config/containers/short-name.confBeim nächsten Pull ist die Zuordnung bereits klar.
Short-Name-Resolution ist ein potenzieller Angriffsvektor, wenn sie unkontrolliert erfolgt.
Unvollständige Namen erlauben:
Wenn in registries.conf ein unsicheres oder falsch
priorisiertes Registry-Setup definiert ist, könnte Podman Images aus
Quellen ziehen, die nie beabsichtigt waren.
Bei unqualifizierten Namen kann der Client Anfragen an Registries senden, die nicht vorgesehen sind – inklusive Auth-Header, falls konfiguriert.
In registries.conf:
short-name-mode = "enforcing"Damit erzwingt Podman eine einmalige Abstimmung für jeden Short-Namen.
Alternativ:
short-name-mode = "disabled"→ Short-Names sind dann nicht mehr erlaubt. Für produktive Automatisierungsskripte oft sinnvoll.
Statt:
python:3.11
besser:
docker.io/library/python:3.11
oder eine interne Registry:
registry.example.com/base/python:3.11
Damit wird jede implizite Auflösung ausgeschlossen.
Private Images sollten niemals generische Kurzformen wiederverwenden.
Statt service:latest besser:
registry.example.com/team/service:latest
Beispiel:
[[registry]]
location = "docker.io"
[[registry.mirror]]
location = "mirror.example.com"Damit wird verhindert, dass Podman ungewollt externe Registries abfragt.
Im rootless Betrieb:
Die Kombination ist besonders sicher auf Multi-User-Systemen.

Podman speichert die Auswahl, nicht das fertige
Mapping. Die Reihenfolge der Suche bleibt stets in
registries.conf definiert.
Kurzformen wie python:3.11 sehen unproblematisch aus,
entscheiden aber darüber, woher Images stammen. Podman macht diese
Mechanik sichtbar und zwingt zu bewussten Entscheidungen, damit
Containerimages kryptografisch, organisatorisch und infrastrukturell
nachvollziehbar bleiben.
Short-Name-Resolution ist damit ein zentrales Element der Sicherheit – kein Komfortdetail.