|
O HOWTO do NIS(YP)/NYS/NIS+ |
||
|---|---|---|
Este documento apenas descreve como configurar o servidor NIS chamado “ypserv”.
O software para servidor NIS pode ser encontrado em:
Site Diretório Nome do arquivo ftp.kernel.org /pub/linux/utils/net/NIS ypserv-2.9.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS ypserv-2.9.tar.bz2 |
Também é interessante visitar o site http://www.linux-nis.org/nis/ para maiores informações.
A configuração do servidor é a mesma para o “NIS tradicional” como para o NYS.
Compile o software para gerar os executáveis ypserv e makedbm. ypserv-2.x suporta apenas o arquivo securenets por restrições de acesso.
Caso você execute seu servidor como mestre, determine quais arquivos voce requer disponíveis via NIS e adicione ou remova as entradas apropriadas para a regra “all” em /var/yp/Makefile. Você deve sempre observar o arquivo Makefile e editar as opções no início do arquivo.
Houve uma grande mudança entre ypserv 1.1 e ypserv 1.2. Desde a versão 1.2, os arquivos são armazenados num cache. Isto significa que você deve chamar makedbm sempre com a opção -c caso você crie novos mapas. Certifique-se de usar o novo /var/yp/Makefile do ypserv 1.2 ou superior, ou adicionar a flag “-c” (sem aspas) para o makedbm no Makefile. Caso você não o faça, ypserv continuará a usar os mapas antigos, e não os recém-atualizados.
Agora edite o /var/yp/securenets e /etc/ypserv.conf. Para maiores informações, leia as páginas de manual (man) do ypserv(8) e ypserv.conf(5).
Tenha certeza que o portmapper (portmap(8)) está rodando, e então inicie o servidor ypserv. O comando
% rpcinfo -u localhost ypserv |
deve retornar algo do tipo
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
|
A linha "version 1" pode não aparecer, dependendo da versão do ypserv e da configuração que esteja usando. Ela é necessária apenas se houver clientes com versões antigas do SunOS, anteriores à 4.x.
Agora deve ser gerada a base de dados NIS (YP). No servidor mestre, execute
% /usr/lib/yp/ypinit -m |
Em servidores escravos certifique-se que ypwhich -m funciona. Isto significa que seu servidor escravo deve ser configurado como um cliente NIS antes de poder executar
% /usr/lib/yp/ypinit -s masterhost |
para tornar tal máquina um servidor escravo NIS.
Isto é suficiente para ter um servidor funcional.
Caso tenha maiores problemas, é possível chamar ypserv e ypbind no modo debug em terminais X diferentes, de forma que a saída debug lhe mostre o que há de errado.
Caso precise modificar um mapa, execute make no diretório /var/yp no servidor NIS mestre. Isto irá atualizar um map caso o arquivo fonte seja mais novo, e enviar os arquivos para os servidores escravos. Não use ypinit para atualizar um mapa.
Pode ser interessante editar o crontab do root *no servidor escravo* e adicionar as seguintes linhas:
20 * * * * /usr/lib/yp/ypxfr_1perhour
40 6 * * * /usr/lib/yp/ypxfr_1perday
55 6,18 * * * /usr/lib/yp/ypxfr_2perday
|
Isto irá assegurar que a maior parte dos mapas NIS sejam mantidas atualizadas, mesmo que uma atualização se perca devido ao fato do servidor escravo estar indisponível no momento que a atualização foi feita no servidor mestre.
É possível adicionar um servidor escravo a qualquer tempo. Primeiro, certifique-se que o novo servidor escravo tem permissão para contatar o servidor NIS mestre, então execute
% /usr/lib/yp/ypinit -s masterhost |
No novo escravo. No servidor mestre, adicione o novo escravo em /var/yp/ypservers e execute o comando make em /var/yp para atualizar o mapa.
Caso você deseje restringir acesso para usuários no seu servidor NIS, será necessário configurar servidor NIS também como um cliente executando ypbind e adicionando as entradas com o símbolo + _na metade_ do arquivo /etc/passwd. As funções da biblioteca ignorarão todas as entradas normais após a primeira entrada NIS, e irão tomar o resto delas pelo NIS. Desta forma, as regras de acesso NIS serão mantidas. Por exemplo:
root:x:0:0:root:/root:/bin/bash
daemon:*:1:1:daemon:/usr/sbin:
bin:*:2:2:bin:/bin:
sys:*:3:3:sys:/dev:
sync:*:4:100:sync:/bin:/bin/sync
games:*:5:100:games:/usr/games:
man:*:6:100:man:/var/catman:
lp:*:7:7:lp:/var/spool/lpd:
mail:*:8:8:mail:/var/spool/mail:
news:*:9:9:news:/var/spool/news:
uucp:*:10:50:uucp:/var/spool/uucp:
nobody:*:65534:65534:noone at all,,,,:/dev/null:
+miquels::::::
+:*:::::/etc/NoShell
[ Todos os usuários comuns APÓS esta linha! ]
tester:*:299:10:Just a test account:/tmp:
miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
|
De forma que o usuário "tester" existirá, mas terá um shell de /etc/NoShell. miquels terá acesso normal.
Ao invés disso, também é possível editar o /var/yp/Makefile e instruir o NIS a utilizar outro arquivo fonte de senha. Em grandes sistemas os arquivos de senha e grupos NIS são normalmente armazenados em /etc/yp/. Caso você faça isso, as ferramentas comuns de administração de senhas como passwd, chfn, adduser não funcionarão mais e serão necessárias ferramentas especiais desenvolvidas por você mesmo para realizar tais funções.
Entretanto, yppasswd, ypchsh e ypchfn funcionarão, é claro.
Para configurar o servidor NIS "yps" por favor, leia o parágrafo anterior. A configuração do yps é similar, _MAS_ não exatamente a mesma, portanto cuidado caso tente usar as instruções do ypserv para o yps. De fato, "yps" não é suportado por autor algum, e contém algumas falhas de segurança. Você realmente não deveria usá-lo!
O servidor "yps" NIS pode ser encontrado em:
Site Diretório Nome do Arquivo ftp.lysator.liu.se /pub/NYS/servers yps-0.21.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS yps-0.21.tar.gz |
rpc.ypxfrd é usado para acelerar a transferência de mapas NIS muito grandes de um servidor NIS mestre para seus escravos. Se um servidor NIS escravo receber uma mensagem de que há um novo mapa, ele iniciará ypxfr para transferir o novo mapa. ypxfr lerá o conteúdo de um mapa do servidor mestre usando a função yp_all(). Este processo pode tomar vários minutos quando há mapas muito grandes que precisam ser armazenados pela biblioteca de banco de dados.
O servidor rpc.ypxfrd acelera a transferência permitindo aos servidores NIS escravos que simplesmente copiem os arquivos de mapas do servidor mestre ao invés de construírem os seus próprios do zero. O rpc.ypxfrd usa um protocolo de transferência de arquivo baseado em RPC, de forma que não há necessidade de construir um novo mapa.
rpc.ypxfrd pode ser iniciado pelo inetd, mas como ele inicia muito lentamente, é melhor inciá-lo com ypserv. É necessário iniciar o rpc.ypxfrd apenas no servidor mestre.
Sempre que os usuários modificam suas senhas, a base de dados de senhas NIS e provavelmente outras bases de dados NIS, que dependem da base de dados de senhas, devem ser atualizadas.O programa "rpc.yppasswdd" é um servidor que lida com mudanças de senhas e certifica-se que as informações NIS sejam atualizadas de acordo. rpc.yppasswdd está agora integrado ao ypserv. As velhas versões separadas, yppasswd-0.9.tar.gz e yppasswd-0.10.tar.gz não são mais necessárias, e não devem mais ser usadas.
É necessário iniciar o rpc.yppasswdd apenas no servidor NIS mestre. Por padrão, usuários não podem mudar a senha ou o shell de login. É possível permitir isso com as opções -e chfn ou -e chsh.
Caso os arquivos passwd e shadow estejam em outro diretório que não /etc, é necessário adicionar a opção -D. Por exemplo, caso todos os arquivos estejam em /etc/yp e se deseje permitir ao usuário que mude seu shell, é necessário iniciar o rpc.yppasswd com os seguintes parâmetros:
rpc.yppasswdd -D /etc/yp -e chsh |
ou
rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh |
Não há mais nada a fazer. Apenas é necessário certificar-se que rpc.yppasswdd utilize os mesmos arquivos que /var/yp/Makefile. Os erros serão reportados utilizando o syslog.
|
O que é necessário para configurar o NIS+ ? |
|
Verificando a instalação NIS/NYS |