Ich habe einen VPS, auf dem Ubuntu 14.04.4 LTS ausgeführt wird. Es wurde als Ganzes mit Plesk von OVH installiert. Ich habe eine gemacht apt-get upgrade
, und irgendwann hatte ich eine Nachricht bezüglich PAM. Das System ist auf Französisch, aber im Grunde heißt es:
Mindestens eine Datei von /etc/pam.d/common-{auth,account,password,session} wurde lokal geändert. Bitte geben Sie an, ob lokale Änderungen verworfen werden sollen, und halten Sie sich an die Standardkonfiguration. Andernfalls müssen Sie das Authentifizierungssystem selbst konfigurieren.
Ich beschloss, die lokalen Änderungen beizubehalten, und APT berichtete auch:
pam-auth-update: Local modifications to /etc/pam.d/common-*, not updating.
pam-auth-update: Run pam-auth-update --force to override.
Ich möchte wissen, was die Unterschiede zwischen den lokalen Änderungen und den Dateien sind, die das Update einrichten möchte. Wie kann ich das machen?
/etc/pam.d
ohne die Warnung oben in der Datei zu bemerken. Stattdessen sollte eine Datei hinzugefügt und/usr/share/pam-configs
anschließend ausgeführt werdenpam-auth-update
, um Dateien in zu generieren/etc/pam.d
.Antworten:
Da ich die Live-Konfiguration von PAM auf dem System nicht ändern wollte, habe ich ein
chroot
Gefängnis verwendet, um eine Standard-PAM-Konfiguration einzurichten, damit ich die Unterschiede anzeigen kann:Unterschiede anzeigen:
quelle
dpkg
sollte Sie auffordern und Ihnen erlauben, einen Unterschied (mit D) zu sehen, falls Änderungen an Ihren Konfigurationsdateien vorgenommen werden:Update: Aus dem Kommentar unten geht hervor, dass das Problem bei Paketen liegt, bei denen keine vollständigen Konfigurationsdateien abgelegt werden (wo das obige Verhalten ausgelöst wird), sondern bei Dateien, die einen Skriptansatz zum Generieren von Konfigurationsdateien verwenden. Das Debian-Richtlinienhandbuch beschreibt dies wie folgt :
Das bedeutet, dass Sie sich
packageconfig
für PAM auf das Programm verlassen müssen/usr/sbin/pam-auth-update
, um eine Trockenlauf- oder Vorschauoption bereitzustellen.Und soweit ich das beurteilen kann,
/usr/sbin/pam-auth-update
bietet eine solche Funktion nicht an.quelle
apt-get
oder direkt aus dem Paket installiert wurdendpkg
. Die Dateien in/etc/pam.d
werden jedoch nicht auf diese Weise installiert. Stattdessen werden sie von einem Post-Installationsskript installiert. Beachten Sie den Unterschied in der Ausgabe zwischendpkg-query -S /etc/bash.bashrc
unddpkg-query -S /etc/pam.d/common-auth
.Sie können eine Kopie des gesamten Verzeichnisses erstellen und dann für jede Datei einen Unterschied ausführen, um nach Unterschieden zu suchen
Sobald Sie die einzelnen Diff sorgfältig durchgearbeitet haben, können Sie entscheiden, ob Sie die Änderungen beibehalten oder zu den alten zurückkehren möchten. Das Zurücksetzen ist so einfach wie das Kopieren der Dateien an ihren ursprünglichen Standort
quelle
pam-auth-update
an, muss seine neue Konfiguration von irgendwoher bekommen; wo ist es?man pam-auth-update
, dass die neue Konfiguration von erhalten wird/usr/share/pam-configs/
.pam-auth-update
, die Ausgabe in ein anderes Verzeichnis zu schreiben. Das könnte sogar als nicht privilegierter Benutzer verwendet werden.Ich hatte gerade dieses Problem. Am Ende ließ ich
pam-auth-update --force
die Dateien ändern - dann bemerkte ich, dass es auch eine Kopie der alten Dateien gespeichert hatte (zB als /etc/pam.d/common-foo.pam.old). Der folgende Einzeiler zeigte mir dann die Unterschiede:Es:
quelle