ulckpwdf(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(4) and shadow(4).
     Upon  completing modifications, a process should release the
     lock on the  lock  file  using  ulckpwdf().  This  mechanism
     prevents  simultaneous  modification  of  the password data-
     bases. 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(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | MT-Safe                     |
    |_____________________________|_____________________________|


SEE ALSO

     getpwnam(3C),  getspnam(3C),  passwd(4),  shadow(4),  attri-
     butes(5)


Man(1) output converted with man2html