Következő Előző Tartalom

9. A NIS/NYS telepítésének ellenőrzése

Ha minden rendben (ahogy lennie kellene), néhány egyszerű utasítással ellenőrizheted a telepítést. Feltételezve, hogy például a jelszó állományodat a NIS adja, a

    % ypcat passwd

utasításnak vissza kell adnia a NIS jelszó állományod tartalmát. A

    % ypmatch userid passwd

utasítás (ahol a userid egy találomra választott felhasználó azonosítója) vissza kell, hogy adja a felhasználó NIS jelszó állomány beli bejegyzését. Az "ypcat" és az "ypmatch" programokat a hagyományos NIS vagy NYS disztribúciód tartalmazza.

Ha egy felhasználó nem tud bejelentkezni, indítsd el a következő programot a kliensen:

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

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

  if(argc != 2)
    {
      fprintf(stderr,"Használat: getwpnam felhasználónév\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("név..............: [%s]\n",pwd->pw_name);
      printf("jelszó...........: [%s]\n",pwd->pw_passwd);
      printf("felhasználó id...: [%d]\n", pwd->pw_uid);
      printf("csoport id.......: [%d]\n",pwd->pw_gid);
      printf("gecos............: [%s]\n",pwd->pw_gecos);
      printf("könyvtár.........: [%s]\n",pwd->pw_dir);
      printf("parancsértelmező.: [%s]\n",pwd->pw_shell);
    }
  else
    fprintf(stderr,"A(z) \"%s\" felhasználó nem található!\n",argv[1]);

  exit(0);
}

Ezt a programot futtatva a felhasználó nevével, mint paraméterrel, kiírja mindazt az információt, amit a getpwnam függvény ad vissza erre a felhasználóra. Ennek meg kell mutatnia, hogy melyik bejegyzés hibás. A leggyakoribb probléma az, hogy a jelszó mező "*"-al felül lett írva.

A GNU C 2.1-es könyvtár (glibc 2.1) egy getent eszközzel jön. Ezt használhatod a fenti program helyett egy ilyen rendszeren. Kipróbálhatod:

   getent passwd
vagy
   getent passwd login


Következő Előző Tartalom