De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Felipe Augusto Batista Reis
Data de Publicação: 01 de Janeiro de 2005
Neste tutorial vamos mostrar uma forma simples de como se criar um em uma rede interna uma forma de montagem e autenticação remota. Vamos aprender mesmo como fazer um servidor-cliente de NIS rodar em sua rede, que em conjunto com o NFS poderá lhe dar uma forma simples de autenticção remota.
Este tutorial não o ensinará o que é NIS e NFS, ele tem como alvo os que já possuem um breve conhecimento em Linux ou que sejam esforçados e queiram aprender como usar o Linux. Ao final do tutorial haverão links para paginás que lhes darão mais informação sobre os servidores NIS e NFS.
Para tudo seja feito com classe lhe aconselho os seguintes pacotes.
Para que possamos fazer com 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 extramente simples.
O que vc 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 o poderemos montar uma ou mais maquina remotas, no caso o /home desta maquiná.
ip_da_maquina_remota: Este é o ip da maquina que iremos permitir que tenha seguindo por exemplo o /home(mostrado e explicado acima) montado em uma maquina ou rede(para dar permissões pode-se usar o '*', que especifica tudo.
(rw,no_root_squash): são as opções que usamos aqui. rw: da permissão de leitura e gravação para os ip's especificados. no_root_squash: da permissão ao root também.
(Nossa, disse que não iria falar de nfs, mas agora já quase montei um servidor de nfs... :D)
AGORA O NIS
Vamos começar a montar o NIS pelo o arquivo /etc/ypserv.conf.
o ypserv.conf normalmente ja vem configurado... porém....
# # ypserv.conf In this file you can set certain options for the NIS server, # and you can deny or restrict access to certain maps based # on the originating host. # # See ypserv.conf(5) for a description of the syntax. # # Some options for ypserv. This things are all not needed, if # you have a Linux net. # 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 < 1024 xfr_check_port: yes # The following, when uncommented, will give you shadow like passwords. # Note that it will not work if you have slave NIS servers in your # network that do not run the same server as you. # Host : Domain : Map : Security # # * : * : passwd.byname : port # * : * : passwd.byuid : port # Not everybody should see the shadow passwords, not secure, since # under MSDOG everbody is root and can access ports < 1024 !!! * : * : shadow.byname : port * : * : passwd.adjunct.byname : port # If you comment out the next rule, ypserv and rpc.ypxfrd will # look for YP_SECURE and YP_AUTHDES in the maps. This will make # the security check a little bit slower, but you only have to # change the keys on the master server, not the configuration files # on each NIS server. # If you have maps with YP_SECURE or YP_AUTHDES, you should create # a rule for them above, that's much faster. # *
agora vamos configurar o /etc/yp.conf
domain nome_do_dominio hostname x.x.x.x
O arquivo /etc/sysconfig/network(para distos estilo redhat) coloque na última linha "NISDOMAIN="nome_do_dominio_nis""
Se for por não houver /etc/sysconfig/network isso quer dizer que seu arquivo é o /etc/defaultdomain(em slack's, debian e 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 saidas, para vê-las de 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
securenets
# # securenets This file defines the access rights to your NIS server # for NIS clients. This file contains netmask/network # pairs. A clients IP address needs to match with at least # one of those. # # One can use the word "host" instead of a netmask of # 255.255.255.255. Only IP addresses are allowed in this # file, not hostnames. # # 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 mascara de rede, e no segundo você coloca sua rede para que somente sua rede tenha acesso.
EX:
# This line gives access to everybody. PLEASE ADJUST! 255.255.255.0 192.168.1.0
Se você está por 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, edite as seguintes linhas: No /etc/rc.d/rc.yp, 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 deixa 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 poderam 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 usário.
AGORA É A VEZ DO CLIENTE
repita o 3° passo
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
/etc/nsswitch.conf
se você está usando uma distro estilo redhat deixe-o como esta. Se usa um slack mude as seguintes linhas.
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 saber 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/ e de o comando ypserv e depois make, deverá aparecer uma pasta com o nome do seu dominio, pronto, as maquinas que estão no NFS e que estão no NIS já podem fazer login em qualquer maquiná 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 usá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/usuarios, nos clientes também deverá ser /home/usuários e assim por diante.
UTILIDADES (Este documento não possui partes dos documentos abaixo citados)
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários