"Kein solcher Benutzer", aber Benutzer ist in passwd-Datei

12

Schauen Sie sich die Dateien in / etc / an:

/etc/group:lbutler:*:1005:
/etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash
/etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash

Aber:

$ passwd lbutler
passwd: lbutler: no such user

Dateien in /home/lbutler/werden auch als UID 1005 und GID angezeigtlbutler

Die anderen Benutzer in /etc/passwdscheinen kein Problem zu haben

lbutlr
quelle

Antworten:

9

Es scheint, dass einige Korruptionen bei Ihnen aufgetreten sind /etc/master.passwd. Sie können den normalen Zustand wiederherstellen. Versuchen Sie Folgendes:

  • vipwzu bearbeiten /etc/master.passwd.
  • Speichern Sie es ohne Änderungen.

Sie können auch pwd_mkdbzum Aktualisieren der Kennwortdatenbank verwenden.

cuonglm
quelle
5
+1: Das OP kann ein Linux-Benutzer sein und denkt, dass das Betriebssystem / etc / passwd tatsächlich als primäre Quelle berücksichtigt. Unter FreeBSD sind die aus / etc / passwd generierten DB-Dateien und solche Dateien die eigentliche Hauptquelle der Wahrheit.
Warren Young
OP bitte vipwin Zukunft verwenden, dann müssen Sie die Details nicht mehr verwalten.
Winny
Die Verwendung von vipw und das unveränderte Speichern machten keinen Unterschied. Ich habe mir die Backups und das Benutzerpasswort für den Benutzer angesehen, die zuvor in der Datei master.passwd aufgeführt waren. Die Änderung erfolgte ungefähr zu der Zeit, als Butler sich nicht mehr anmelden konnte. Ich kann die Datei master.passwd wiederherstellen, sollte ich pwd_mkdb /etc/master.passwd ausführen? @ Winny: Ich habe noch nie eine
Passwd-
Dies sollten die richtigen Aufrufargumente sein:pwd_mkdb -p /etc/master.shadow
Winny
2

Versuchen Sie es pwd_mkdb -p /etc/master.passwd. Von man pwd_mkdb:

 -p    Create a Version 7 style password file and install it into
       /etc/passwd.
Vladislav
quelle
1

Mir ist aufgefallen, dass der Benutzer unmittelbar vor lbutler eine UID und eine GID von 10014 hatte (anstelle der erwarteten 1014). Dieser Benutzer hat sein Passwort geändert und danach konnte sich die UID 1015 nicht mehr anmelden. Mit vipw habe ich die beiden Zeilen umgekehrt und die Datei gespeichert. Beide Benutzer können sich jetzt anmelden und die Eigentumsrechte werden korrekt angezeigt. Danke für die Hinweise.

lbutlr
quelle
0

FreeBSD verwendet die Datenbankdateien zum Nachschlagen der Passwörter und Benutzer und so weiter. Die Datei / etc / passwd und auch die Datei master.passwd sind daher nur aus Kompatibilitäts- und Informationsgründen vorhanden. Darauf sollte man sich nie verlassen. Ich weiß nicht, ob es eine Möglichkeit gibt, diese Datenbankdateien direkt anzufragen. Vielleicht sollten sie eine Art SQL-Schnittstelle dafür bereitstellen, damit ppl herausfinden kann, welche Benutzer sich auf dem System befinden und so weiter. Dann könnten sie / etc / passwd und master.passwd komplett abschaffen.

Lars Schotte
quelle