Next Previous Contents

9. Verifisere NIS/NYS Installasjonen

Hvis alt er bra (som det burde være), skal du kunne verifisere din installasjon med et par enkle kommandoer. Anta for eksempel at din passwd fil kjøres via NIS, da skal kommandoen

    % ypcat passwd

gi deg innholdet i din NIS passwd fil. Kommandoen

    % ypmatch userid passwd

(hvor userid er login navnet til en bruker) skal gi deg den brukerens linje i NIS passwd fila. "ypcat" og "ypmatch" programmene skal være inkludert i distribusjonen av tradisjonell NIS eller NYS.

Hvis en bruker ikke kan logge inn, kjør følgende program på klienten:

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

Ved å kjøre dette programmet med brukernavnet som parameter, vil du få listet all informasjon getpwnam funksjonen returnerer for denne brukeren. Det skal vise deg hva som er galt. Det vanligste problemet er at passord feltet er overskrevet med en "*".

GNU C Library 2.1 (glibc 2.1) kommer med et program kallt getent. Bruk dette programmet istedetfor det over på et slikt system. Du bør prøve:

   getent passwd
eller
   getent passwd login


Next Previous Contents