Ich weiß über passwd(1)
und crypt(3)
. Nach was ich suche, ist eine c API, die angerufen wird, die das Kennwort des Benutzers in den passwd/Schattenakten setzt, ohne die Akten programmatisch laufen zu lassen und den Eintrag für den fraglichen Benutzer zu überschreiben. Die Anwendung läuft als root.Welche API rufe ich auf, um das Passwort eines Benutzers auf Linux zu setzen?
Gibt es eine solche API?
EDIT: Rate ich sollte angeben, das Passwort wird zwischen verschiedenen Systemen synchronisiert, so dass wir nicht einfach System aufrufen können ("passwd") und erlauben Sie den Benutzer Passwort eingeben, wenn passwd sie fordert. Wir müssen das Passwort kennen, damit wir die anderen Systeme mit dem gleichen Passwort programmatisch aktualisieren können.
Ich würde einfach passwd mit den richtigen Argumenten ausführen ... –
Welche Parameter wäre das? passwd hat keinen Parameter zur Angabe des Passworts - nur den Benutzernamen. :( –
Vielleicht hilft das? Http://stackoverflow.com/questions/714915/using-the-passwd-command-from-within-a-shell-script/714934#714934 – 8jean