2009-07-20 2 views
1

Est-ce que lckpwdf() et ulckpwdf() sont destinés à être utilisés uniquement pour les applications accédant directement au fichier de mot de passe shadow?devrais-je appeler lckpwdf() avant getspent()?

Plus précisément, ma question est: Si j'appelle l'API, comme d'habitude getspnam() ou getspent(), dois-je appelle lckpwdf() d'abord, ou est-ce fait automatiquement par getspnam(), etc ...?

Répondre

1

Vous n'avez pas besoin d'utiliser lckpwdf() sauf si vous envisagez d'apporter des modifications au fichier masqué. lckpwdf() a créé un verrou exclusif sur le fichier, ce qui oblige tout processus essayant d'accéder au fichier à attendre que le verrou soit libéré. Pour lire le fichier shadow, ceci est hautement inutile.

Si vous modifiez le fichier, appelez lckpwdf() une fois avant vos modifications, traitez avec vos modifications, puis appelez le ulckpwdf(). En outre, si vous rencontrez une exception, veillez à appeler le ulckpwdf().

+0

Je suis en train de modifier le fichier. –

+0

Ensuite, vous devez appeler lckpwdf() avant vos modifications, puis ulckpwdf() après. Post modifié –

+0

setspent() et putspent() ne verrouillent pas automatiquement le fichier. –