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 |