[转载]A simply sysadmin's utility to view the logged users info
文章作者:clad[code]/*
* getinfo.c
* Maphia Security Group (c) 2004
* 26.12.2004
*
* wrote by: clad
*/
#include <utmp.h>
#include <time.h>
#include <stdio.h>
#include <pwd.h>
char *convert_time(time_t tbk)
{
return ctime(&tbk);
}
int
main ()
{
struct utmp *user;
struct passwd *pwd = NULL;
int size_user = 0;
setutent ();
while((user = getutent()) != NULL) {
if (user->ut_type!=USER_PROCESS)
continue;
printf("#############User found#################\n");
printf("Login type: %d \n" \
"Device user: %s \n" \
"Name <login>: %s \n" \
"Host for remote login: %s \n" \
"Remote IP: %s \n" \
"Date: %s \n"
, user->ut_type, user->ut_line, user->ut_user,
user->ut_host, user->ut_addr_v6, convert_time(user->ut_tv.tv_sec));
size_user++;
setpwent ();
if((pwd = getpwnam(user->ut_user)) != NULL)
printf("Real name: %s \n" \
"Home folder: %s \n" \
"Shell: %s \n" \
"Uid: %d \n" \
"Gid: %d \n"
, pwd->pw_gecos, pwd->pw_dir, pwd->pw_shell
, pwd->pw_uid, pwd->pw_gid);
endpwent ();
printf("###########And information##############\n");
}
return (0);
} [/code]
页:
[1]