LCKPWDF(3C) Standard C Library Functions LCKPWDF(3C)
lckpwdf, ulckpwdf - manipulate shadow password database lock file
#include <shadow.h>
int lckpwdf(void);
int ulckpwdf(void);
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.
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.
These routines are for internal use only; compatibility is not
guaranteed.
/etc/passwd
password database
/etc/shadow
shadow password database
/etc/.pwd.lock
lock file
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | MT-Safe |
+---------------+-----------------+
getpwnam(3C), getspnam(3C), passwd(5), shadow(5), attributes(7)
December 29, 1996 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)