get information about the user with a given name
#include <sys/types.h> #include <pwd.h> struct passwd *getpwnam( const char *name );
The getpwnam() function allows a process to gain more knowledge about user name. This function uses a static buffer that is overwritten by each call.
A pointer to an object of type struct passwd containing an entry from the group database with a matching name. Upon error or failure to find a entry with a matching name, a NULL pointer is returned.
/* * print information from the password entry * about the user name given as argv[1]. */ #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <pwd.h> void main( int argc, char **argv ) { struct passwd *pw; if( ( pw = getpwnam( argv[1] ) ) == NULL ) { fprintf( stderr, "getpwnam: unknown %s\n", argv[1] ); exit( EXIT_FAILURE ); } printf( "login name %s\n", pw->pw_name ); printf( "user ID %d\n", pw->pw_uid ); printf( "group ID %d\n", pw->pw_gid ); printf( "home dir %s\n", pw->pw_dir ); printf( "login shell %s\n", pw->pw_shell ); exit( EXIT_SUCCESS ); }
POSIX 1003.1
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | No |
cuserid(), getlogin(), getpwent(), getpwuid()