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ó fájlodat a NIS adja, a
% ypcat passwd |
utasításnak vissza kell adnia a NIS jelszófájlod 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ó fájlban lévő 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("felh. 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("shell....: [%s]\n",pwd->pw_shell);
}
else
fprintf(stderr,"Az \"%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) tartalmaz egy getent eszközt. Ezt használhatod a fenti program helyett egy ilyen rendszeren. Kipróbálhatod:
getent passwd |
getent passwd login |
| Előző | Tartalomjegyzék | Következő |
| NIS szerver beállítása | NIS térképek készítése és karbantartása |