![Warum schlägt „sudo“ in einem einfachen Container unter Fedora 32 fehl?](https://rvso.com/image/1642380/Warum%20schl%C3%A4gt%20%E2%80%9Esudo%E2%80%9C%20in%20einem%20einfachen%20Container%20unter%20Fedora%2032%20fehl%3F.png)
Ich zerbreche mir den Kopf und versuche, das herauszufinden.
Unter einem frisch installierten Fedora 32 wird der folgende Minimalcontainer nicht ordnungsgemäß ausgeführt:
FROM centos:7
RUN yum install -y sudo && yum clean all -y
RUN useradd -m test
RUN sudo -u test true
Um dies zu testen, führen Sie Folgendes aus:
podman build .
Das Ergebnis ist:
STEP 4: RUN sudo -u test true
sudo: PAM account management error: Authentication service cannot retrieve authentication info
Error: error building at STEP "RUN sudo -u test true": error while running runtime: exit status 1
Jetzt frage ich mich, was Fedora 32 so besonders macht. Ich bin mir ziemlich sicher, dass das unter 31 funktioniert hat. Da die Version von being involved und ihre Umgebung unverändert sind, könnte der einzige Unterschied Podman sein. Aber was hat Podman mit dem Aufruf von innerhalb des Containers (oder PAM im Allgemeinen) sudo
zu tun ?sudo
(diese Frage wurde mit „Docker“ getaggt, da ich das Tag „Podman“ nicht erstellen kann)
Antwort1
Ok, hier ist, was ich nach vielen qualvollen Stunden der Fehlersuche herausgefunden habe.
/home
Bevor ich dies ausprobierte, war ich bereits auf einen neuen Laptop umgestiegen. Dazu habe ich Daten vom alten auf den neuen Laptop kopiert .- Der Bildcache in meinem neuen Home-Verzeichnis enthielt irgendeine Art von Fehler.
podman
Ich habe mich nicht beschwert oder versucht, das Bild erneut herunterzuladen, aber ich konnte (durch Vergleich mit einer anderen Maschine) sehen, dass der Hash anders war. Innerhalb des Bildes/etc/shadow
fehlte es – ich habe jedoch keine Ahnung, warum oder wie das passiert sein könnte. - Nachdem ich den Cache vollständig gelöscht
podman
und den Download erneut ausgeführt hatte, erhielt ich die richtigen Bilder und alles funktionierte wieder.
Das muss also ein ganz bestimmter Fehler beim Kopieren der Podman-Images von Fedora 31 nach 32 gewesen sein. Das Image war einigermaßen intakt. Ich konnte es ausführen. Aber es fehlte mindestens eine wichtige Datei. Ziemlich bizarr.