#include <sys/types.h>
#include <sys/utsname.h>
#include <pwd.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc,char * argv[])
{
char computer[256];
struct utsname uts;
if(gethostname(computer,255)!=0||uname(&uts)<0)
{
fprintf(stderr,"could not get host information\n");
exit(1);
}
printf("computer name is %s\n",computer);
printf("system is %s on %s handware\n",uts.sysname,uts.machine);
printf("nodename is %s\n",uts.nodename);
printf("version is %s,%s\n",uts.release,uts.version);
printf("domainname is %s\n",uts.domainname);
////////////////////////////////////////////////////////////////////////
uid_t uid;
gid_t gid;
struct passwd *pw;
uid=getuid();
gid=getgid();
printf("user is %s\n",getlogin());
printf("user IDs:uid= %d, gid=%d\n",uid,gid);
pw=getpwuid(uid);
printf("UID passwd entry:\n name=%s, uid=%d, gid=%d, home=%s, shell=%s\n",
pw->pw_name,pw->pw_uid,pw->pw_gid,pw->pw_dir,pw->pw_shell);
pw=getpwnam("root");
printf("UID passwd entry:\n name=%s, uid=%d, gid=%d, home=%s, shell=%s\n",
pw->pw_name,pw->pw_uid,pw->pw_gid,pw->pw_dir,pw->pw_shell);
exit(0);
}
时间: 2024-10-13 22:23:39