Entfernen Sie _postgres user sicher und vollständig von Mac / etc / passwd

0

Ich versuche, PostgreSQL neu zu installieren, da ich mich überhaupt nicht anmelden kann. Mir ist klar, dass ich es vor langer Zeit mit dem Installationsprogramm von der postgres-Website und installiert hatte brew install postgres. Ich habe diese beiden jetzt deinstalliert:

Ich habe jedoch noch einen _postgresBenutzer in /etc/passwd:

$ grep post /etc/passwd
_postgres:*:216:216:PostgreSQL Server:/var/empty:/usr/bin/false

Unter Mac (10.11 El Capitan) sind keine userdeloder keine usermodBefehle verfügbar, und die Alternative scheint übermäßig komplex zu sein (aber vielleicht auch unbedingt?).

AJP
quelle

Antworten:

2

Verwenden Sie den Befehl brew remove postgresql. Oder untersuchen Sie die Deinstallationsskripte manuell.

Edit: Hast du das versucht?

  • Beenden Sie Postgres.app und ziehen Sie es in den Papierkorb

  • Löschen Sie das Datenverzeichnis (Standardverzeichnis: ~ / Library / Application Support / Postgres)

  • Löschen Sie die Einstellungen für Postgres.app, indem Sie den folgenden Befehl ausführen: Standardmäßig löschen Sie com.postgresapp.Postgres2

  • Entfernen Sie die $ PATH-Konfiguration für die Befehlszeilentools (optional): sudo rm /etc/paths.d/postgresapp

Bearbeiten 2: Um einen Benutzer von der Befehlszeile zu löschen, starten Sie den Einzelbenutzermodus. Halten Sie Command-s beim Start gedrückt. Überprüfen Sie das Dateisystem: / sbin / fsck -fy Wenn keine weiteren Fehler auftreten, hängen Sie das Dateisystem an: / sbin / mount -uw / Verzeichnisdienste starten: launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist Beachten Sie, dass single Benutzermodus soll com.apple.DirectoryServicesLocal.plist verwenden, aber das hat nicht funktioniert - das hat funktioniert. Finden Sie heraus, zu welchen Gruppen der Benutzer gehört: dscl. -list / groups Gruppenmitgliedschaft | grep username - Wiederholung für jede Gruppe außer für die eigene Gruppe des Benutzers. Entfernen Sie die Gruppe, die dem Benutzernamen entspricht: dscl. delete / groups / username (dies ist möglicherweise nicht erforderlich. Möglicherweise wird eine Fehlermeldung angezeigt, dass die Gruppe nicht vorhanden ist. Sie können sie ignorieren und fortfahren.) Entfernen Sie das Benutzerkonto: dscl. delete / users / username An dieser Stelle Möglicherweise möchten Sie den Benutzerordner in / Users entfernen oder archivieren. Möglicherweise möchten Sie die Datei .AppleSetupDone in / var / db entfernen, damit der Setup-Assistent beim nächsten Start ausgeführt wird. Geben Sie reboot ein, um das System neu zu starten, oder shutdown -h now, um das System herunterzufahren.

user2497
quelle
Danke für die Hilfe. Ich habe die Antwort bearbeitet, um zu verdeutlichen, dass ich diesen Befehl bereits ausgeführt habe
AJP
1
Na ja, vielleicht ist es dann nicht hilfreich, die Installations- / Deinstallationsskripte zu lesen.
user2497
1
Ich habe einmal in den Eingeweiden von OSX herumgespielt, unter der Annahme einer normalen passwd / group-Konfiguration. Schon damals war es eine schmutzige Erfahrung. Jobs haben FreeBSD sicherlich verrückter gemacht.
user2497
1
Es ist ratsam, eine Sicherung durchzuführen. Ich bin nicht sicher, warum sie das klassische passwd / group-System losgeworden sind, aber es ist sicherlich möglich, unabhängig von dieser Verschleierung. Als ich in OSX zum Cavediving ging, entfernte ich auch ein Benutzerkonto, das mit herkömmlichen Waffen nicht entfernt werden konnte, aber das war lange her.
user2497
1
IIRC, auf einem mehrbändigen Setup, wenn Sie Ihre Benutzer - Ordner auf einem anderen Datenträger, müssen Sie aufrufenmount -uwa
user2497