LCKPWDF(3C) Standard C Library Functions LCKPWDF(3C)


NAME


lckpwdf, ulckpwdf - manipulate shadow password database lock file

SYNOPSIS


#include <shadow.h>

int lckpwdf(void);


int ulckpwdf(void);


DESCRIPTION


The lckpwdf() and ulckpwdf() functions enable modification access to the
password databases through the lock file. A process first uses lckpwdf()
to lock the lock file, thereby gaining exclusive rights to modify the
/etc/passwd or /etc/shadow password database. See passwd(5) and
shadow(5). Upon completing modifications, a process should release the
lock on the lock file using ulckpwdf(). This mechanism prevents
simultaneous modification of the password databases. The lock file,
/etc/.pwd.lock, is used to coordinate modification access to the password
databases /etc/passwd and /etc/shadow.

RETURN VALUES


If lckpwdf() is successful in locking the file within 15 seconds, it
returns 0. If unsuccessful (for example, /etc/.pwd.lock is already
locked), it returns -1.


If ulckpwdf() is successful in unlocking the file /etc/.pwd.lock, it
returns 0. If unsuccessful (for example, /etc/.pwd.lock is already
unlocked), it returns -1.

USAGE


These routines are for internal use only; compatibility is not
guaranteed.

FILES


/etc/passwd
password database


/etc/shadow
shadow password database


/etc/.pwd.lock
lock file


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | MT-Safe |
+---------------+-----------------+

SEE ALSO


getpwnam(3C), getspnam(3C), passwd(5), shadow(5), attributes(7)


December 29, 1996 LCKPWDF(3C)