Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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)