 |
|
 |
 |
 |
Um bom How-to de como implementar um servidor NIS/NFS no Slackware e outras distribuições.
Pacotes:
Para tudo seja feito com classe, lhe aconselho os seguintes pacotes:
NFS:
- nfs-server
- nfs-utils
- portmap
- nmap
- rpcinfo
NIS:
- ypserv
- yp-tools
- yppasswd
- ypbind
- portmap
Para que possamos fazer com que o NIS faça autenticação remotamente, temos que primeiro ter algo que permita isso, esse é o NFS. Nós não entramos a fundo no NFS pois existe muito documento sobre o assunto na internet e também por se tratar de algo extremamente simples.
Basicamente o que você precisa é de editar o arquivo /etc/exports e colocar as seguintes linhas:
/home/ ip_da_maquina_remota(rw,no_root_squash)
O que temos aqui é o seguinte:
- /home/ - Este é o diretório que será exportado.
- ip_da_maquina_remota - Este é o ip da máquina que terá acesso ao diretório exportado. Pode-se usar o coringa "*" para liberar para qualquer máquina.
- (rw,no_root_squash) - São as opções que usamos aqui, onde "rw" dá permissão de leitura e gravação para os IPs especificados e "no_root_squash" dá permissão de acesso ao root remoto também.
Nossa, disse que não iria falar de NFS, mas agora já quase montei um servidor de NFS... :D
Servidor NIS
Vamos começar a montar o NIS pelo o arquivo /etc/ypserv.conf.
O ypserv.conf normalmente já vem configurado, porém...
# Should we do DNS lookups for hosts not found in the hosts table ?
# This option is ignored in the moment.
dns: no
# How many map file handles should be cached ?
files: 30
# Should we register ypserv with SLP ?
slp: no
# xfr requests are only allowed from ports
xfr_check_port: yes
Agora vamos configurar o /etc/yp.conf:
domain nome_do_dominio hostname x.x.x.x
No arquivo /etc/sysconfig/network (para distos estilo RedHat), coloque na última linha:
NISDOMAIN="nome_do_dominio_nis"
Se for por acaso não existir o /etc/sysconfig/network, isso quer dizer que seu arquivo é o /etc/defaultdomain (em Slack's, Debian, etc). É só colocar dentro do arquivo o nome do dominio NIS e mais nada.
domain nome_do_dominio: este é o nome do seu dominio NIS (não coloque o mesmo nome do donimio DNS, isso pode ser ruim).
hostname x.x.x.x: este é o ip do seu servidor NIS
Existem outras saídas, para vê-las dê o comando:
$ man yp.conf
Agora entre no diretório /var/yp/, edite o arquivo Makefile e troque as seguintes linhas:
MERGE_PASSWD=true
MERGE_GROUP=true
por:
MERGE_PASSWD=false
MERGE_GROUP=false
O arquivo securenets:
# Always allow access for localhost
255.0.0.0 127.0.0.0
# This line gives access to everybody. PLEASE ADJUST!
x.x.x.x x.x.x.x
Para sua segurança, modifique este arquivo de acordo com suas necessidades. No primeiro x.x.x.x você coloca sua máscara de rede e no segundo você coloca sua rede para que somente ela tenha acesso.
Exemplo:
255.255.255.0 192.168.1.0
Se você está em um Slackware, terá que fazer algumas coisinhas a mais...
Para iniciar o seu servidor toda vez que a máquina for iniciada, teremos que tornar o arquivo /etc/rc.d/rc.yp executável:
# chmod +x /etc/rc.d/rc.yp
Agora, temos que fazer o servidor iniciar, abra o arquivo /etc/rc.d/rc.yp e descomente as linhas abaixo:
if [ -r /etc/defaultdomain ]; then
nisdomainname `cat /etc/defaultdomain`
fi
Para fazer com que o nome do domínio NIS seja carregado, deixe as linhas assim:
if [ -x /usr/sbin/ypserv ]; then
echo "Starting NIS server: /usr/sbin/ypserv"
/usr/sbin/ypserv
fi
Para fazer com que seus usuários alterem suas senhas, habilite o rpc.yppasswdd. Assim com o comando yppasswd poderá fazê-lo:
if [ -x /usr/sbin/rpc.yppasswdd ]; then
echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd"
/usr/sbin/rpc.yppasswdd
fi
Se gosta de praticidade, coloque dentro do adduser (na última linha) a seguinte linha:
( cd /var/yp ; make )
Isso fará com que o NIS atualize sua base de dados toda vez que você adicinar um usuário.
Cliente e afins
Repita a configuração do arquivo /etc/yp.conf, conforme mostrado na página anterior.
Agora, edite o /etc/rc.d/rc.yp e deixe as seguintes linhas assim:
if [ -r /etc/defaultdomain ]; then
nisdomainname `cat /etc/defaultdomain`
fi
if [ -d /var/yp ]; then
echo "Starting NIS services: /usr/sbin/ypbind -broadcast"
/usr/sbin/ypbind -broadcast
fi
Fora do arquivo, torne o rc.yp executável:
# chmod +x /etc/rc.d/rc.yp
O arquivo /etc/nsswitch.conf:
Se você está usando uma distro estilo RedHat, deixe-o como está. Se usa um Slack, comente as seguintes linhas:
passwd: compat
group: compat
E descomente estas:
# passwd: files nis
# shadow: files nis
# group: files nis
Agora você deve compartililhar os arquivos para que o servidor NIS saiba quais serviços ele poderá buscar na sua rede.
No nosso caso vamos compartilhar os arquivos /etc/passwd, group, shadow e gshadow. Para isso vamos colocar um sinal de mais na última linha de cada um deles:
# echo + >> /etc/passwd
# echo + >> /etc/group
# echo + >> /etc/shadow
# echo + >> /etc/gshadow
Agora no servidor NIS, entre no diretório /var/yp/, dê o comando ypserv e depois make. Deverá aparecer uma pasta com o nome do seu domínio.
Pronto, as máquinas que estão no NFS e que estão no NIS já podem fazer login em qualquer máquina da rede que tenha um cliente configurado.
Outra coisa, o diretório home do cliente deve sempre ser o mesmo diretório home do servidor, o que digo é que o o diretório no servidor onde ficam os usuários deve ser o mesmo nome no cliente, por exemplo, se no seu servidor for o /home, você deverá montar no /home do cliente, se no servidor for /home/usuários, nos clientes também deverá ser /home/usuários e assim por diante.
Bibliografia
Página do Piter Punk
http://www.piterpunk.hpg.ig.com.br/artigos/SlackNIS.html
Arquivos de configuração dos servidores
Páginas do manual
Utilidades
TuxResources
http://www.tuxresources.org/tuxresources/modules/...artid=41
http://www.linuxsupport.com.br/configuration/nis.html
http://www.linuxsupport.com.br |
|
 |
 |
| |
 |
 |
Classificação de notícias |
 |
 |
|