Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 756

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Linux NIS(YP)/NYS/NIS+ HOWTO: Verificare l'installazione di NIS/NYS</TITLE>
 <LINK HREF="NIS-HOWTO-10.html" REL=next>
 <LINK HREF="NIS-HOWTO-8.html" REL=previous>
 <LINK HREF="NIS-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="NIS-HOWTO-10.html">Avanti</A>
<A HREF="NIS-HOWTO-8.html">Indietro</A>
<A HREF="NIS-HOWTO.html#toc9">Indice</A>
<HR>
<H2><A NAME="s9">9. Verificare l'installazione di NIS/NYS</A><!--NIS!verification of operation--><!--NYS!verification of operation--></H2>

<P>Se tutto &egrave; a posto (come dovrebbe essere), si dovrebbe essere essere
in grado di verificare l'installazione con pochi semplici comandi.
Assunto, per esempio, che il proprio file passwd sia gestito da NIS,
il comando
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % ypcat passwd
</PRE>
</CODE></BLOCKQUOTE>
<P>dovrebbe restituire il contenuto del proprio file NIS passwd.  Il
comando
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % ypmatch userid passwd
</PRE>
</CODE></BLOCKQUOTE>
<P>(dove userid &egrave; il nome di login di un utente arbitrario) dovrebbe
restituire la voce relativa all'utente nel file NIS passwd.  I
programmi ``ypcat'' e ``ypmatch'' dovrebbero essere inclusi nella propria
distribuzione di NIS tradizionale o NYS.
<P>Se un utente non riesce a fare il login, si esegua il programma
seguente nel client:
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;stdio.h>
#include &lt;pwd.h>
#include &lt;sys/types.h>

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

  if(argc != 2)
    {
      fprintf(stderr,"Uso: getwpnam nomeutente\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,"Utente \"%s\" non trovato!\n",argv[1]);

  exit(0);
}
</PRE>
</CODE></BLOCKQUOTE>
<P>L'esecuzione di questo programma con il nome utente come parametro,
mostrer&agrave; tutte le informazioni che la funzione getpwnam restituisce
per quell'utente.  Ci&ograve; dovrebbe mostrare quale voce non &egrave; corretta.
Il problema pi&ugrave; comune &egrave; che il campo della password &egrave; stato
sovrascritto con un ``*".
<P>La GNU C Library 2.1 (glibc 2.1) contiene uno strumento chiamato
gentent.  In un sistema di questo tipo si usi questo programma invece
di quello qua sopra.  Si pu&ograve; provare:
<BLOCKQUOTE><CODE>
<PRE>
   getent passwd
</PRE>
</CODE></BLOCKQUOTE>

o
<BLOCKQUOTE><CODE>
<PRE>
   getent passwd login
</PRE>
</CODE></BLOCKQUOTE>
<P>
<HR>
<A HREF="NIS-HOWTO-10.html">Avanti</A>
<A HREF="NIS-HOWTO-8.html">Indietro</A>
<A HREF="NIS-HOWTO.html#toc9">Indice</A>
</BODY>
</HTML>