userdb_read.3 (2010 09)
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]isa
pointer 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 correspond-
ing
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: September 2010 − 1 − Hewlett-Packard Company 1