Der Benutzer "postgres" kann nicht gelöscht werden, fehlt in / etc / passwd

767
bguyl

Ich versuche, Postgresql auf einem CentOS 7-Server zu installieren. Wenn ich jedoch einen Benutzer hinzufügen und ausführen möchte sudo -u postgres -i, passiert nichts, nicht einmal ein Fehler.

Der Benutzer postgresfehlt in der /etc/passwdDatei und /etc/shadow.
Ich habe alle Postgres-Konfigurationen von meinem Server entfernt und jetzt versuche ich, den Postgres-Benutzer zu entfernen.

userdel postgres userdel: cannot remove entry 'postgres' from /etc/passwd useradd postgres useradd: user 'postgres' already exists 

Ich habe versucht, eine Zeile in / etc / passwd manuell mit der gefundenen Uid hinzuzufügen id postgres, die Zeile wird entfernt, /etc/passwordaber es existiert immer noch irgendwie.

Hat jemand eine Ahnung?

0
userdel: Eintrag 'postgres' kann nicht aus / etc / passwd entfernt werden - das heißt nicht, dass er nicht existiert. Es sagt nur, es kann es nicht entfernen. djsmiley2k vor 6 Jahren 0
Ist dies ein "Standalone" -Server, auf dem Sie den IS installiert haben, oder ist er möglicherweise an ein Authentifizierungssystem wie ldsp gebunden? davidgo vor 6 Jahren 0
Es gibt ein Authentifizierungssystem, aber kann dies den Postgres-Benutzer wirklich beeinflussen? bguyl vor 6 Jahren 0

1 Antwort auf die Frage

0
Zach L

Wenn der Benutzer nicht in / etc / passwd und / etc / shadow existiert, existiert er nicht. Es könnte sein, dass das Entfernen des Postgres-Pakets den Benutzer ebenfalls löscht.

Bearbeiten Sie am besten niemals das Verzeichnis passwd und shadow. Versuchen Sie, Dienstprogramme zu verwenden, die für diesen Zweck entwickelt wurden (usermod, userdel, passwd usw.).

Es ist wahrscheinlich, dass der postgres-Benutzer während der Installation des postgres-RPM generiert wird. Erforderliche Systemkonten sind in der Regel - obwohl ich mit Postgres nicht besonders vertraut bin.

In diesem Fall ist es normal, dass ich nach dem Ausführen eines "userdel postgres", wenn ich "id postgres" ausführt, Folgendes erhalte: "uid = 3009 (postgres) gid = 3008 (postgres) groups = 3008 (postgres)" Der Benutzer existiert nicht? bguyl vor 6 Jahren 0