getpw

Autres langues

Langue: ko

Version: 1996년 5월 27일 (fedora - 25/11/07)

Section: 3 (Bibliothèques de fonctions)

이름

getpw - 패스워드 라인 엔트리를 다시 생성한다.

사용법

 #include <pwd.h>
 #include <sys/types.h>
 
 int getpw(uid_t uid, char *buf);
 

설명

getpw() 함수는 버퍼 buf에 주어진 사용자 uid를 위한 패스워드 라인 엔트리를 다시 생성한다. 반환된 버퍼는 다음과 같은 형식의 라인을 포함한다.
name:passwd:uid:gid:gecos:dir:shell

passwd 구조체는 다음과 같이 <pwd.h>에 정의되어 있다:

 
 struct passwd {
         char    *pw_name;       /* 유저 이름 */
         char    *pw_passwd;     /* 유저 패스워드 */
         uid_t   pw_uid;         /* 유저 ID */
         gid_t   pw_gid;         /* 그룹 ID */
         char    *pw_gecos;      /* 실제 이름 */
         char    *pw_dir;        /* 홈 디렉토리 */
         char    *pw_shell;      /* shell 프로그램 */
 };
 
 

반환값

getpw() 함수는 성공시 0을 반환하거나 에러라면 -1 을 반환한다.

에러

ENOMEM
패스워드 구조체를 할당하기 위한 메모리가 충분하지 않다.

파일

/etc/passwd
패스워드 데이터베이스 파일

호환

SYSVr2.

버그

getpw() 함수는 제공되는 버퍼 buf 를 오버플로우 할지 모르기 때문에 위험하다. 이 함수는 getpwuid()에 의해 구식이 되었다.

관련 항목

fgetpwent(3), getpwent(3), setpwent(3), endpwent(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5)

역자

정강훈 <skyeyes@soback.kornet.net>, 2001년 4월 30일