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()