table of contents
SHADOW(3) | Bibliotheksaufrufe | SHADOW(3) |
NAME¶
shadow, getspnam - Routinen für die Datei, die die verschlüsselten Passwörter enthält
SYNTAX¶
#include <shadow.h>
struct spwd *getspent();
truct spwd *getspnam(char *name);
void setspent();
void endspent();
struct spwd *fgetspent(FILE *fp);
struct spwd *sgetspent(char *cp);
int putspent(struct spwd *p, DATEIEN *fp);
int lckpwdf();
int ulckpwdf();
BESCHREIBUNG¶
shadow verändert den Inhalt der Shadow-Passwort-Datei /etc/shadow. Der Aufbau der Datei #include ist:
struct spwd {
char *sp_namp; /* Anmeldename des Benutzers */
char *sp_pwdp; /* verschlüsseltes Passwort */
long int sp_lstchg; /* letzte Änderung des Passworts */
long int sp_min; /* Tage, ehe Änderung erlaubt ist */
long int sp_max; /* Tage, bis Änderung erfolgen muss */
long int sp_warn; /* Tage für Warnung vor Verfall */
long int sp_inact; /* Tage, ehe Konto inaktiv wird */
long int sp_expire; /* Datum, an dem Konto abgeschaltet wird */
unsigned long int sp_flag; /* reserviert für zukünftigen Gebrauch*/ }
Die Bedeutung dieser Felder ist:
BESCHREIBUNG¶
getspent, getspname, fgetspent und sgetspent geben einen Verweis auf struct spwd zurück. getspent gibt den nächsten Eintrag der Datei zurück. fgetspent gibt den nächsten Eintrag im angegebenen Datenstrom zurück, für den angenommen wird, dass es sich dabei um eine Datei im zulässigen Format handelt. sgetspent gibt einen Verweis auf einen struct spwd zurück, wobei die angegebene Zeichenkette als Eingabe verwendet wird. getspnam sucht ab der aktuellen Position in der Datei nach einem Eintrag, der mit name übereinstimmt.
setspent und endspent können verwendet werden, um den Zugriff auf die Shadow-Passwort-Datei zu beginnen oder zu beenden.
Die Routinen lckpwdf und ulckpwdf sollten eingesetzt werden, da so sichergestellt werden kann, dass exlusiv auf die Datei /etc/shadow zugegriffen wird. lckpwdf versucht, eine Sperre durch pw_lock für bis zu 15 Sekunden zu erhalten. Dann versucht es, eine zweite Sperre durch spw_lock für den Rest der 15 Sekunden zu erhalten. Sollte einer der beiden Versuche nach insgesamt 15 Sekunden scheitern, gibt lckpwdf -1 zurück. Wurden beide Sperren erhalten, wird 0 zurückgegeben.
DIAGNOSE¶
Wenn kein weiterer Eintrag vorhanden ist oder während der Verarbeitung ein Fehler auftritt, geben die Routinen NULL zurück. Routinen, die int als Rückgabewert haben, geben im Erfolgsfall 0 und beim Scheitern -1 zurück.
WARNUNGEN¶
Diese Routinen können nur von Root verwendet werden, da der Zugriff auf die Shadow-Passwort-Datei beschränkt ist.
DATEIEN¶
/etc/shadow
SIEHE AUCH¶
11.05.2016 | shadow-utils 4.1.5.1 |