2009-07-20 9 views
1

Sind lckpwdf() und ulckpwdf() nur für Apps gedacht, die direkt auf die Shadow-Passwortdatei zugreifen?sollte ich lckpwdf() vor getspent() aufrufen?

Genauer gesagt, meine Frage ist: Wenn ich die üblichen API wie getspnam() oder getspent() nennen, sollte ich lckpwdf() zuerst anrufen, oder dass automatisch von getspnam() getan, etc ...?

Antwort

1

Sie müssen lckpwdf() nicht verwenden, es sei denn, Sie planen Änderungen an der Shadow-Datei. lckpwdf() hat eine exklusive Sperre für die Datei erstellt, die dazu führt, dass alle Prozesse, die auf die Datei zugreifen, warten, bis die Sperre aufgehoben wird. Zum Lesen der Schattendatei ist dies sehr unnötig.

Wenn Sie die Datei ändern, rufen Sie vor Ihren Änderungen lckpwdf() einmal auf, verarbeiten Sie mit Ihren Änderungen, und rufen Sie dann ulckpwdf(). Wenn Sie auf eine Ausnahme stoßen, rufen Sie auch ulckpwdf() auf.

+0

Ich ändere die Datei. –

+0

Dann müssen Sie lckpwdf() vor Ihren Änderungen und dann ulckpwdf() danach aufrufen. Beitrag geändert. –

+0

setpent() und putspent() sperren die Datei nicht automatisch. –

Verwandte Themen