O HOWTO do NIS(YP)/NYS/NIS+

Anterior


Próximo


10. Verificando a instalação NIS/NYS

Caso tudo esteja certo (como já deveria estar, se este documento foi seguido corretamente ;-), deve ser possível verificar a instalação com alguns poucos comandos simples. Assumindo, por exemplo, que seu arquivo passwd seja fornecido pelo NIS, o comando

    % ypcat passwd

deverá retornar o conteúdo do seu arquivo NIS de senha. O comando

    % ypmatch userid passwd

(onde userid é o nome de login de um usuário qualquer) deve retornar a entrada do usuário no arquivo passwd do NIS. Os programas "ypcat" e "ypmatch" devem estar incluídos com sua distribuição do NIS ou NYS.

Caso um usuário não possa logar, compile e execute o seguinte programa no 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,"Modo de usar: getwpnam nome-do-usuario\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("nome.....: [%s]\n",pwd->pw_name);
      printf("senha....: [%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("diretorio: [%s]\n",pwd->pw_dir);
      printf("shell....: [%s]\n",pwd->pw_shell);
    }
  else
    fprintf(stderr,"Usuario \"%s\" nao encontrado!\n",argv[1]);

  exit(0);
}

Executando este programa com o nome de usuário como parâmetro irá mostrar toda a informação que a função getpwnam retorna para este usuário. Isto deverá mostrar qual entrada está incorreta. O problema mais comum é que o campo de senha está sobrescrito com um "*".

A biblioteca GNU C 2.1 (glibc 2.1) vem com uma ferramenta chamada getent. Este programa deve ser usado ao invés do mostrado acima em tais sistemas. É possível tentar:

   getent passwd

ou

   getent passwd login

Anterior

Home

Próximo

Configurando o servidor NIS

 

Criando e atualizando mapas NIS