���Υڡ��� ���Υڡ��� �ܼ���

9. NIS/NYS ���󥹥ȡ���Υ����å�

���٤Ƥ����ޤ��Ԥä��顢��ñ�ʥ��ޥ�ɤ�Ȥäƥ��󥹥ȡ���Υ����å���Ԥ� �Ʋ��������㤨�Хѥ���ɥե����뤬 NIS/NYS �Ƕ�ͭ����Ƥ�����ϡ�

    % ypcat passwd

�Ȥ������ޥ�ɤ� NIS �Υѥ���ɥե���������Ƥ�������Ϥ��Ǥ����ޤ���

    % ypmatch userid passwd

�Ȥ���С����ꤷ���桼���Υ���ȥ꤬�ѥ���ɥե����뤫����Ф��� ��ɽ������ޤ� (userid �ˤ�Ŭ���ʥ桼���Υ�������̾������ޤ�)���ʤ� ypcat �� ypmatch �ϡ�NIS �� NYS �����ۥѥå����������äƤ��ޤ���

�桼�����ˤ��������󤬤Ǥ��ʤ����ˤϡ��ʲ��Υץ������򥯥饤���� �ȤǼ¹Ԥ��ƤߤƲ�������


#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>

int
main(int argc, char *argv[])
{
  struct passwd *pwd;

  if(argc != 2)
    {
      fprintf(stderr,"Usage: getwpnam username\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("name.....: [%s]\n",pwd->pw_name);
      printf("password.: [%s]\n",pwd->pw_passwd);
      printf("user id..: [%d]\n", pwd->pw_uid);
      printf("group id.: [%d]\n",pwd->pw_gid);
      printf("gecos....: [%s]\n",pwd->pw_gecos);
      printf("directory: [%s]\n",pwd->pw_dir);
      printf("shell....: [%s]\n",pwd->pw_shell);
    }
  else
    fprintf(stderr,"User \"%s\" not found!\n",argv[1]);

  exit(0);
}

���Υץ�������桼��̾��ѥ�᡼���Ȥ��Ƽ¹Ԥ��ޤ��ȡ����Υ桼������ ���� getpwnam �ؿ����֤���������ɽ������ޤ�������ˤ�äơ��ɤΥ��� �ȥ꤬�ְ�äƤ��뤫���狼��Ǥ��礦���褯����ְ㤤�Ȥ��Ƥϡ��ѥ�� �ɤΥե�����ɤ� "*" �ˤ�äƾ�񤭤���Ƥ��롢�ʤɤ����� �ޤ���

GNU C Library 2.1 (glibc 2.1) �ˤ� getent �Ȥ����ġ��뤬�Ĥ��Ƥ��ޤ��� ���Τ褦�ʥ����ƥ�Ǥϡ��嵭������ˤ������Ȥ��ޤ��礦��

   getent passwd
��
   getent passwd login
�Τ褦�˻�Ƥߤޤ��礦��


���Υڡ��� ���Υڡ��� �ܼ���