|PW_LOCK(3)||Library Functions Manual||PW_LOCK(3)|
pw_abort() functions allow a program to update the system passwd database.
pw_lock() function attempts to lock
the passwd database by creating the file /etc/ptmp,
and returns the file descriptor of that file. If
retries is greater than zero,
pw_lock() will try multiple times to open
/etc/ptmp, waiting one second between tries. In
addition to being a lock file, /etc/ptmp will also
hold the contents of the new passwd file. A different lock file can be
specified with pw_file(3).
pw_init(3) must be called
pw_mkdb() function updates the passwd
file from the contents of /etc/ptmp via
pwd_mkdb(8). If a
username is specified, only the record for the
specified user will be updated. The pwflags are
specified by OR'ing the following values:
By default the secure and insecure password databases and the
legacy password file /etc/passwd are updated. You
should finish writing to and close the file descriptor returned by
pw_lock() before calling
fails and you do not wish to retry, you should make sure to call
pw_abort() to clean up the lock file.
pw_abort() function aborts a passwd
file update by deleting /etc/ptmp. The passwd
database remains unchanged.
pw_lock() function returns -1 on error and sets errno. The
pw_mkdb() function returns -1 if it is unable to complete properly.
pw_lock() may also fail and set
errno for any of the errors specified for the routine
|August 14, 2016||OpenBSD-current|