linux-C获得用户信息和节点信息_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > linux-C获得用户信息和节点信息

linux-C获得用户信息和节点信息

 2010/9/19 23:30:10  deepfuture  http://deepfuture.javaeye.com  我要评论(0)
  • 摘要:#include<unistd.h>#include<sys/utsname.h>#include<sys/types.h>#include<pwd.h>intmain(void){//charhname[256];//节点名称structutsnameuts;//节点结构信uid_tuid;gid_tgid;structpasswd*pw;if(gethostname(hname,255)!=0||uname(&uts)<0)
  • 标签:linux C获得用户信息 节点信息
#include <unistd.h>
#include <sys/utsname.h>
#include <sys/types.h>
#include <pwd.h>
int main(void){//
    char hname[256];//节点名称
	 struct utsname uts;//节点结构信
    uid_t uid;
    gid_t gid;
           struct passwd *pw;

	 if (gethostname(hname,255)!=0||uname(&uts)<0){
       printf("不能得到主机信息");
                  exit(1);
         }

  printf("主机名:%s\n",hname);
  printf("系统名称:%s\n 机器名称:%s\n",uts.sysname,uts.machine);
  printf("节点名称:%s\n",uts.nodename);
  printf("版本:%s,版本号%s",uts.release,uts.version);//系统版本,版本号
    //取得当前用户登陆情况
     uid=getuid();
     gid=getgid();
     pw=getpwuid(uid);
     printf("用户id 为%d,用户组为%d\n",uid,gid);
     printf("用户真实姓名%s\n用户名称:%s\n",pw->pw_gecos,pw->pw_name);
     printf("用户uid:%s\ngid:%s\n",pw->pw_uid,pw->pw_gid);           
     printf("主目录:%s\n",pw->pw_dir);             
     printf("用户shell:%s\n",pw->pw_shell);     

}

?运行:

# gcc -o test7 test7.c
test7.c: In function ‘main’:
test7.c:13: warning: incompatible implicit declaration of built-in function ‘printf’
test7.c:14: warning: incompatible implicit declaration of built-in function ‘exit’
test7.c:17: warning: incompatible implicit declaration of built-in function ‘printf’
# ./test7
主机名:puppypc
系统名称:Linux
?机器名称:i686
节点名称:puppypc
版本:2.6.30.5,版本号#1 SMP Tue Sep 1 15:48:26 GMT-8 2009用户id 为0,用户组为0
用户真实姓名root
用户名称:root
用户uid:(null)
gid:(null)
主目录:/root
用户shell:/bin/sh
用户密码:x
#

发表评论
用户名: 匿名