Page suivante Page précédente Table des matières

11. Vérifier l'installation de NIS ou de NYS

Si tout fonctionne correctement (comme cela devrait être), vous devriez être capable de vérifier votre installation avec quelques commandes simples. Supposons que le fichier de mots de passe soit géré par NIS, la commande

    % ypcat passwd

devrait alors vous donner le contenu du fichier des mots de passe. La commande

    % ypmatch id_utilisateur passwd

(où id_utilisateur est le nom de login d'un utilisateur) devrait vous donner l'entrée de l'utilisateur dans le fichier des mots de passe NIS. Les commandes ypcat et ypmatch doivent être incluses dans la distribution du NIS (ou NYS) traditionnel.

Si un utilisateur ne peut pas se connecter, lancez le programme suivant sur la machine cliente :

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

Faites tourner ce programme avec le nom de l'utilisateur en paramètre. Il va afficher toutes les informations renvoyées par la fonction getpwnam concernant l'utilisateur. Cela peut vous permettre de savoir si l'entrée est correcte. Un problème assez fréquemment rencontré est une redéfinition du champ de mot de passe par un "*".


Page suivante Page précédente Table des matières