Hallo,
folgendes Konstrukt:
Die Benutzer werden auf einem zentralen Server gepflegt (srv01) Dieser ist nur Mailserver.
Web & DB liegen auf einen anderen Server (srv03 bzw srv04).
Als ich eben den ftp Account eines Kunden nutzen wollte ist mir aufgefallen, dass dieser nicht funktioniert. Das gleiche Problem hatte ich bereits letzte Woche schon mal. Nach einigem Probieren ging es dann plötzlich.
Eben konnte ich das reproduzieren.
Kunde ist angelegt, in /etc/vsftpd/users ist auch eine Datei mit dem Vertragsnamen des Kunden angelegt. Das Änderungsdateum der /etc/vsftpd/passwd.db ist Älter, als das Datum, an dem der Kunde angelegt wurde.
1) vsftpd neu konfigurieren -> keine Änderung
2) Dem Kunden einen weiteren FTP User angelegt
-> passwd.db wird aktualisiert
-> sowohl neuer, als auch alter Nutzer funktionieren
Mir scheint, dass beim Anlegen des Kunden, zwar der User angelegt wird, die passwd.db jedoch nicht aktualisiert wird.
Ähnlich ist es bei SSH. In der /etc/shadow ist kein Passwort für den Nutzer hinterlegt.
Aktueller Workaround:
Nachdem der Kunde angelegt wurde über "Verbindung starten" in dessen Kontext wechseln, dann das FTP Passwort nochmal setzen
->SSH Login ist nun möglich (/etc/shadow wird gesetzt)
->Einen zusätzlichen FTP User anlegen (/etc/vsftpd/passwd.db wird mit beiden Nutzern aktualisiert)
-> Zusätzlichen FTP User wieder löschen (passwd.db wird wieder aktualisiert. Es bleiben immerhin keine Leichen zurück).
Ist leider ziemlich umständlich. Ist das ein allgemeiner Bug, oder hängt da nur bei uns was schief?
Haben das mit 2 Servern, auf denen der lcclient läuft getestet und konnten es reproduzieren.