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

Contenu de cette section

Si tout fonctionne correctement (comme cela doit être), vous devriez être capable de vérifier 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 inclus 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);
}

Faîtes 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 "*".


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre