获取主机和用户信息

#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);
}
 
 

转载于:https://www.cnblogs.com/cqhstyle/p/4830905.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值