Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

getspent(3)

1장. getspent(3)

차례
1.1. 사용법
1.2. 설명
1.3. 반환값
1.4. 예제
1.5. 참고문헌

Shadow 패스워드 정보를 가져온다.


1.1. 사용법

#include <shadow.h>

struct spwd *getspent();
struct spwd *getspnam(char *name);
		


1.2. 설명

getspent()함수는 shadow 패스워드 시스템에서 사용자의 패스워드 정보를 얻어온다. 리눅스에서 shadow 정보는 /etc/shadow 파일에 저장된다. 이 함수는 실행 후 패스워드 구조체 엔트리의 포인터를 되돌려준다. 이 때 되돌려주는 구조체는 spwd로서 다음과 같이 정의되어 있다. 이 구조체는 shadow 패스워드를 조작하는 다른 함수들에도 공통적으로 사용된다.

struct spwd
{
    char *sp_namp;    /* 유저 아이디 */
    char *sp_pwdp;    /* encrypt 된 유저 패스워드 */
    long sp_lstchg;   /* 최근 수정일 */
    int  sp_min;      /* 수정작업간의 최소 날짜 */
    int  sp_max;      /* 수정작업간의 최대 날짜 */
    int  sp_warn;     /* 패스워드가 무효화 되기전 경고하는 기간 */
    int  sp_inact;    /* 패스워드가 무효화된뒤, 
                         계정이 사용불능이 될때까지의 기간 */
    int  sp_expire;   /* 계정 사용불능 날짜 */
    int  sp_flag;     /* 나중을 위해서 비워둠  */
}
		
얻어오는 정보는 패스워드 관리에 관련된 정보들이다.

getspnam()함수는 인자로 주어지는 name과 같은 유저이름에 대한 패스워드 정보를 읽어서 되돌려준다.


1.3. 반환값

일치하는 패스워드 엔트리가 없으면 NULL을 리턴한다.


1.4. 예제

#include <shadow.h>
#include <stdio.h>

int main()
{
    struct spwd *myspwd;

    while((myspwd = getspent()) != NULL)
    {
        printf("%-20s%s\n", myspwd->sp_namp, myspwd->sp_pwdp);
    }
    printf("=====================================\n");
    myspwd = getspnam("yundream");
    printf("%-20s%s\n", myspwd->sp_namp, myspwd->sp_pwdp);
}
		


1.5. 참고문헌

  1. 유저정보 얻어오기