HP-UX Reference (11i v3 07/02) - 3 Library Functions N-Z (vol 7)
u
userdb_read(3) userdb_read(3)
NAME
userdb_read(), userdb_write(), userdb_delete() - read, write or delete information in the user database,
/var/adm/userdb
SYNOPSIS
#include <hpsecurity.h>
int userdb_read(const char *name, const char * const attr[],
char * const value[]);
int userdb_write(const char *name, const char * const attr[],
const char * const value[]);
int userdb_delete(const char *name);
DESCRIPTION
These functions read, write, or delete information in the user database,
/var/adm/userdb
, which is
described in userdb(4).
The
name argument indicates a specific user entry in the user database. Attributes are accessed or
modified only in this entry.
For element i of the two arrays, attr[i] is a pointer to the name of an attribute, and
value[i]isapointer
to its value represented as text. The arrays
attr and value are terminated by a null character.
userdb_read() reads the values of the attributes specified in the
attr array from the user database
into the corresponding
value array. If an attribute is not present, a null string is copied into the
value
array. Each element (except for the terminating null) of the value array is a pointer to a buffer. The size
of each buffer is assumed to be at least USERDB_MAX_ATTR_SIZE
bytes, which is defined in
<hpsecurity.h>.
userdb_write() writes the values of the attributes specified in the
attr array from the corresponding
value array into the database. For each null string in the value array, the corresponding attribute is
deleted; the system-wide default described in
/etc/default/security
will then apply; see secu-
rity(4). Attribute values are allowed to contain only printable ASCII characters (hex 20-7e).
The tab character (hex 09) may also be used for the following special cases for
value:
\t+num or \t-num
Add or subtract num to or from the current attribute value. Both num and the current value are
assumed to be a string of at most nine ASCII decimal digits. The current value may also have
an optional sign, and is assumed to have a value of 0 if the attribute is not defined.
\t No operation (do not modify the attribute).
userdb_delete() deletes a user entry from the database. The user entry contains all of the
configurable and internal attributes for a user.
RETURN VALUE
Upon successful completion, 0 is returned.
ERRORS
If an error occurs, one of the following values is returned.
USERDB_USER_NOT_FOUND could not find a database entry for the user specified in the
name
argument
USERDB_INVALID_ARG invalid argument
USERDB_NOPERM insufficient permission to access the user database
USERDB_IOERROR a file system error occurred
USERDB_INVALID_ATTR the value of one of the attr arguments is invalid
USERDB_INVALID_ATTR_VALUE the value of one of the value arguments is invalid
USERDB_BLOCK_OVERFLOW overflowed a database block
USERDB_ENTRY_OVERFLOW overflowed the user entry
USERDB_LOCK_FAILURE database lock failure
HP-UX 11i Version 3: February 2007 − 1 − Hewlett-Packard Company 597