본문으로 바로가기

바다야크

  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 사용자 ID로 사용자 정보 구하기 함수 getpwuid()

C언어 사용자 ID로 사용자 정보 구하기 함수 getpwuid()

· 댓글개 · 바다야크

C함수 사용자 ID로 사용자 정보 구하기 getpwuid()

유저 ID로 사용자 정보를 구합니다. 사용자 정보는 pwd.h 에 정의된 struct passwd에 따릅니다.

  • 헤더: pwd.h
  • 형태: struct passwd *getpwuid(uid_t uid)
  • 인수:uid_t uid 사용자 ID
  • 반환: struct passwd * 사용자 정보를 담고 있는 struct passwd 포인터

struct passwd

struct passwd{
  char *pw_name;        /* Username.  */
  char *pw_passwd;      /* Password.  */
  __uid_t pw_uid;       /* User ID.  */
  __gid_t pw_gid;       /* Group ID.  */
  char *pw_gecos;       /* Real name.  */
  char *pw_dir;         /* Home directory.  */
  char *pw_shell;       /* Shell program.  */
};

C함수 getpwuid() 함수 예제

#include <stdio.h>
#include <unistd.h>     // getlogin
#include <pwd.h>        // getpwnam
#include <sys/types.h>  // uid_t

int main()
{
   char          *user_name;
   struct passwd *user_pw;

   user_name   = getlogin();           // 로그인 이름 구하기
   user_pw     = getpwnam( user_name); // 로그인 이름으로  사용자 정보 구하기

   printf( "user name      :%s\n", user_pw->pw_name  );
   printf( "user id        :%d\n", user_pw->pw_uid   );
   printf( "group id       :%d\n", user_pw->pw_gid   );
   printf( "reall name     :%s\n", user_pw->pw_gecos );
   printf( "home directory :%s\n", user_pw->pw_dir   );
   printf( "shell program  :%s\n", user_pw->pw_shell );
   return 0;
}

C함수 getpwuid() 예제 실행 결과

]$ ./a.out
user name      :jwmx
user id        :500
group id       :500
reall name     :
home directory :/home/jwmx
shell program  :/bin/bash
]$
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.