Está en la página 1de 44

Tema 6: Administracin de servidores

Administracin de Sistemas e Redes I


Toms Fdez. Pena

tomas@dec.usc.es

ndice
1. Introduccin 2. Ejecucin remota y transferencia de cheros
2.1. 2.2. Servicio de telnet y ftp . . . . . . . . . . . . . . . . . . . . . . SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 3
3 6

3. Servicio de tiempo
3.1. 3.2. Funcionamiento bsico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplicaciones NTP en Linux

10
10 11

4. Sistemas de archivos de red (NFS)


4.1. 4.2. 4.3. Caractersticas principales . . . . . . . . . . . . . . . . . . . . Instalacin de NFS en Debian . . . . . . . . . . . . . . . . . . Consideraciones de seguridad en NFS . . . . . . . . . . . . . .

12
13 14 17

5. Comparticin de la conguracin
5.1. Concepto de dominio . . . . . . . . . . . . . . . . . . . . . . .

18
19

6. Servicio de Informacin de Red NIS


6.1. 6.2. 6.3. 6.4. Funcionamiento bsico de NIS . . . . . . . . . . . . . . . . . . Comandos bsicos de NIS Fichero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalacin de NIS en Debian

19
20 21 22 23

GetGnetgroup

7. Servicio de directorio: LDAP


7.1. 7.2. 7.3. 7.4. 7.5. 7.6. 7.7. OpenLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelo de datos de LDAP . . . . . . . . . . . . . . . . . . . . Instalacin de un servidor LDAP Instalacin de un cliente LDAP

24
25 26 28 31 35 36 38

Migracin desde cheros o NIS . . . . . . . . . . . . . . . . . . Conguracin de LDAP con mltiples servidores . . . . . . . . Herramientas de administracin de LDAP . . . . . . . . . . .

8. Comparticin Linux-Windows: Samba


8.1. 8.2. 8.3. 8.4. 8.5. Funcionamiento de Samba Conguracin de Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalacin bsica de Samba . . . . . . . . . . . . . . . . . . . . .

39
39 40 41 43 43

Otros comandos Samba . . . . . . . . . . . . . . . . . . . . . . Prcticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Introduccin
Dos tipos de servicios: 1. Servicios de Internet: Servicios de ejecucin remota: telnet, ssh Servicios de transferencia de cheros: ftp, sftp Servicio de DNS Servicio de Proxy Servicio de correo electrnico: SMTP, POP, . . . Servicio Web 2. Servicios de intranet Sistemas de archivos de red (NFS) Servicio de informacin de red (NIS) Servicio de directorio (LDAP) Comparticin Windows/Linux (Samba) Los servicios de DNS, Proxy, e-mail y Web se tratan en la asignatura Conguracin e Administracin de Servizos en Internet

2. Ejecucin remota y transferencia de cheros


Permiten acceder a un sistema remoto y transferir cheros de/hacia este sistema Aplicaciones clsicas 1.

telnet (TELetype NETwork ) ftp (File Transfer Protocol

permite conectarnos a otros orde-

nadores de la red como terminal remoto 2. permite intercambiar cheros entre

distintos ordenadores de la red Problema: la informacin se transere en claro El uso de

telnety ftp

se desaconseja

Reemplazarlos por 1.

ssh, sp, sftp

ssh (Secure Shell ) permite conectarnos a otro sistema encriptando


toda la informacin

2.

sp, sftp
tada

permiten la transferencia de cheros de forma encrip-

sp

similar a

sftp

similar a

ftp

2.1. Servicio de telnet y ftp


Los servicios TCP (telnet, ftp, talk, nger, etc.) son normalmente lanzados por el superdemonio de red

inetd

(o

xinetd) GetGinetdFonf

El chero de conguracin es el Ejemplo de lnea

telnet

cuando

strem

tp

nowit

telnetd

GusrGsinGinFtelnetd

inetd reciba una peticin al puerto telnet abre un socket tipo stream y ejecutar fork@A y exe@A del programa GusrGsinGinFtelnetd, bajo la identidad del usuario telnetd
indica que el servidor puede continuar procesando conexiones en el socket

nowit

Versin mejorada de

inetd: xinetd
3

Para mayor control usar

TCP Wrapper

(programa

tpd)

Permite conceder/denegar acceso a determinados hosts/redes mediante los chero

GetGhostsFllow

GetGhostsFdeny

Servicio de telnet
Instalacin de un servidor telnet Descargar el paquete

telnetd GetGinetdFonf

El paquete actualiza el

Por defecto usa TCP wrappers El servidor escucha el puerto 23

Desistalar el servicio telnet

Desinstalar el paquete

telnetd,

Comentar la lnea correspondiente en

GetGinetdFonf

Servicio de FTP
Transere cheros a/desde un host remoto Permite usuarios registrados o annimos (

anonymous )

Utiliza dos puertos: 21 (conexin de control) y 20 (conexin de datos) Dos modos de funcionamiento: 1. Activo (modo por defecto en el comando ftp)

El servidor inicia la conexin de datos desde su puerto 20 a un puerto > 1023 del cliente Problema con los rewalls en el cliente

2. Pasivo (modo recomendable, por defecto en navegadores) El cliente inicia las conexiones de control y datos No se utiliza el puerto 20 No tiene problema con los rewall

Instalacin de un servidor ftp bsico


1. Instalar el paquete

ftpd GetGinetdFonf

El paquete actualiza el

Por defecto usa TCP wrappers Podemos denegar el acceso ftp a ciertos usuarios incluyndolos en el chero

GetGftpusers

Servicio de FTP avanzado


Servidores avanzados de FTP Proporcionan numerosas facilidades, tanto para ftp normal cono annimo Existen numerosos servidores comerciales u open source: Wu-FTPD, Pure-FTPd, ProFTPD, wzdftpd, vsftpd Estos servidores proporcionan normalmente:

Operacin a travs de inetd o

standalone

Servidores FTP virtuales (varios servidores de FTP annimos en el mismo host) Usuarios FTP virtuales (cuentas ftp diferentes de las cuentas del sistema) Facilidades para registro y monitorizacin de accesos Facilidades para controlar y limitar accesos Comunicacin encriptada

Prcticas
1. En el sistema servidor instala los paquetes

telnetd

ftpd

Comprueba como se ha modicado el archivo

GetGinetdFonf

Accede va telnet y ftp desde el sistema cliente al servidor 2. En el servidor instala el Instala el paquete

uEph GhomeGftp

wuEftpd:

a)

Permite acceso annimo al directorio

b)

Permite la subida annima de cheros al directorio

inoming

GetGinetdFonf (en la lnea de ftp debe referirse al programa GusrGsinGwuEftpd El) y reinicia inetd (pkill Er inetd)
Comprueba si se ha modicado correctamente el chero Chequea los cheros de conguracin en

GetGwuEftpdG

Prueba el acceso annimo desde el cliente

a) b)

En el servidor, pon algn chero en galo desde el cliente

GhomeGftpGpu y descrGhomeGftpGpuGinoming

Sube algn chero del cliente al directorio del servidor

2.2. SSH
SSH: Shell seguro Permite comunicarnos de forma segura con un servidor remoto

Permite abrir sesiones o transferir cheros (sp o Reemplazo de

sftp)

rlogin, telnet

ftp

Todos los datos viajan encriptados Dos versiones SSH-1 y SSH-2:

Recomendable SSH-2 Versin open-source OpenSSH

Paquetes Debian:

Ciente:

opensshElient opensshEserver

Servidor:

Modos de autenticacin mediante SSH


SSH soporta 4 modos de autenticacin: 1. Si el nombre del host remoto desde el cual un usuario se conecta al servidor esta listado en

GetGshostsFequiv

~GFrhosts, ~GFshosts, GetGhostsFequiv

el usuario remoto puede entrar sin contrasea

Mtodo absolutamente desaconsejado 2. Igual que el anterior pero la clave pblica del host remoto debe aparecer en

GetGsshknownhosts

~GFsshGknownhosts
6

No demasiado seguro (si el host remoto se ve comprometido, el servidor local queda comprometido) 3. La clave pblica del usuario remoto debe estar en

~GFsshGuthorizedkeys

El usuario remoto debe tener acceso a su clave privada Mtodo ms seguro, pero un poco incomodo 4. Acceso mediante contrasea (modo por defecto) Menos seguro que el anterior

Opciones para autenticacin


Fichero de conguracin del servidor ssh:

Opcin

M
2 2 2 2 3 3 4

Dfto. Signicado
no no yes no yes yes yes no
S S

GetGsshGsshdonfig yes yes


permite autenticacin por host permite autenticacin por host los cheros

RhostsRSAAuthentication HostbasedAuthentication IgnoreRhosts IgnoreUserKnownHosts RSAAuthentication PubkeyAuthentication PasswordAuthentication UsePAM

(SSH-1) (SSH-2) No usa

~GFshosts
Ignora el chero Autenticacin Autenticacin usuario (SSH-1)

~GFrhosts

~GFsshGknownhosts
clave clave pblica pblica de de

de de

usuario (SSH-2) Autenticacin mediante contrasea Usa PAM para autenticacin 2,3,4

Otras opciones de conguracin del servidor


Otras opciones en

GetGsshGsshdonfig

Opcin
Port Protocol ListenAddress PermitRootLogin X11Forwarding Para ms opciones

Dfto. Signicado
22 2,1 Todas Puerto (puede ser interesante cambiarlo a >1024) Protocolo aceptado (ms seguro slo 2) Direccin local por la que escucha Permite acceder al root Permite forwarding X11

yes no

mn sshdonfig
7

Opciones para el cliente


Fichero de conguracin del cliente ssh:

GetGsshGsshonfig o ~GFsshGonfig ssh, sp


o

En este chero se especican opciones para los comandos

sftp
cutar el comando, p.e.

Algunas de estas opciones se pueden especicar en el momento de eje-

6 ssh Ep port servidor 5 sndi otro puerto


Algunas opciones:

Opcin
Hosts Port Protocol Cipher[s] ForwardX11

Dfto. Signicado
22 2,1

Host para los que se aplican las opciones (B

implica todos) Puerto por defecto Protocolo usado por defecto Mecanismos de cifrado usados Reenvo X11 y

no

Para ms opciones

mn sshonfig

mn ssh

Otros comandos
sshEkeygen generacin y gestin de claves pblicas/privadas para SSH

Permite claves RSA o DSA (DSA slo SSH-2, por defecto RSA-2) Ficheros (para SSH-2)

Clave privada: para SSH-1) Clave pblica: para SSH-1)

~GFsshGidrs o ~GFsshGidds (~GFsshGidentity

~GFsshGidrsFpu o ~GFsshGiddsFpu (~GFsshGidentityFpu

La clave privada debe tener una

passphrase
Ep

de longitud arbitraria

Puede cambiarse con la opcin Agente de autenticacin

sshEgent

Mantiene en memoria la clave privada Evita tener que escribir la

passphrase

cada vez que usemos ssh

Habitualmente, si entramos en X11 se activa automticamente

useEsshEgent de GetGIIGsessionFoptions (ver mn xsessionFoptions)


Opcin

Para activarlo en consola usar (como usuario)

evl 6@sshEgentA Dene las variables rerygu sshEdd

reqixsh

Aade las claves privadas al agente

Uso:

sshEdd opciones Et life fichero Por defecto aade los cheros ~GFsshGidrs, ~GFsshGidds y ~GFsshGidentity, pidiendo las correspondientes passphrases Pueden aadirse mltiples claves En una conexin se prueban las diferentes claves hasta que
coincide

Algunas opciones:

El Muestra las identidades aadidas Et life Especica un tiempo de vida

de la identidad

Prcticas
1. Utilizar clave pblica para acceder a un servidor ssh

a) b) c) d)

En el chero estn a

bar que las opciones

yes1

GetGsshGsshdonfig del sistema servidor comproeeuthentition y ukeyeuthentition

sshEkeygen para crear la clave pblica/privada Copiar la clave pblica ~GFsshGidrsFpu desde el cliente al chero ~GFsshGuthorizedkeys en el servidor
En el cliente, usar Comprobar que podemos acceder al servidor desde el cliente usando la clave pblica

2. Probar

sshEgent sshEgent
se est ejecutando

a) b) c)
1 Si

En el cliente comprobar que el Usar el

sshEdd

para aadir nuestra clave privada al agente

Probar que nos podemos conectar al servidor sin introducir ninguna contrasea

no queremos permitir el acceso por contrasea, poner a

UsePAM

no
9

PasswordAuthentication

3. Servicio de tiempo
NTP (Network Time Protocol ): protocolo para sincronizar los relojes de los
sistemas en redes con latencia variable Permiten tener los sistemas sincronizados con elevada precisin Importante para diversas aplicaciones (p.e. NFS) y para gestin de logs Versin actual NTPv4; en desarrollo NTPv5 Utiliza transporte UDP, puerto 123 Para ms informacin: http://ntp.isc.org

3.1. Funcionamiento bsico


Usa un sistema jerrquico (

stratum levels )

Stratum 0: relojes de alta precisin (atmicos)


10

Stratum 1: ordenadores conectados directamente a los relojes Stratum


0, p.e. va conexin RS-232)

Stratum 2: envan solicitudes NTP a los sistemas Stratum 1 a travs


de Internet; pueden comunicarse con varios Stratum 1 y tambin entre ellos

Stratum 3 o superior: se sincronizan usando los de Stratum inferior

3.2. Aplicaciones NTP en Linux


Dos aplicaciones bsicas: 1.

ntpdte:

obtiene la hora de un servidor NTP

Normalmente se usa en el arranque del sistema Puede meterse en un cron para obtener sincronizacin, pero no obtiene una precisin elevada Ejemplo:

5 ntpdte poolFntpForg
2.

ntpd (demonio NTP ):

mantiene sincronizado el sistema con los servi-

dores NTP, y proporciona servicio NTP Elevada precisin y bajo consumo de recursos Necesita que el error en el reloj sea pequeo (sincronizacin en el arranque o con

ntpdte) GetGntpFonf ntpd

Fichero de conguracin: 3.

ntpq:

monitoriza el demonio

Prcticas
1. En el servidor instala el paquete

ntp

a)

Modica

GetGntpFonf

para establecer como servidor NTP el

servidor de la Universidad: hora.usc.es

server horFusFes iurst

b)

Cambia la hora al servidor y reincialo para comprobar que se sincroniza

11

c)

Usa el comando nectado

ntpq Ep

para ver los sistemas a los que est co-

2. En el cliente, instala el paquete Ejecuta

ntpdte

ntpdte contra el servidor para poner en hora el cliente Cambia en GetGdefultGntpdte para jar el servidor como
fuente NTP Cambia la hora del cliente y reincialo para ver si se sincroniza

4. Sistemas de archivos de red (NFS)


NFS (

Network File System ) permite compartir sistemas de cheros en la red

Introducido por Sun MicroSystems en 1985, y soportado por todos los Unices Versiones principales: NFSv2 y NFSv3

NFSv4 en desarrollo (incluido en kernel 2.6, ver www.citi.umich.edu/projects/nfsv4/)

NFSv2 y 3: protocolo sin estado: no hay prdida de informacin si el servidor cae

NFSv4 incorpora estado: mecanismo complejo de recuperacin de cadas

Comunicacin mediante TCP o UDP

normalmente UDP (NFSv4 usa TCP)

Dos tipos de servidores en Linux:

servidor en espacio de usuario: ms lento y con problemas servidor en modo kernel: ms rpido, menos caractersticas (versin por defecto)

Para ms informacin: captulo 17 (

The Network File System )

del libro UNIX System Admi-

nistration Handbook (3a ed.), Evi Nemeth et.al. Linux NFS-HOWTO nfs.sourceforge.net

12

4.1. Caractersticas principales


Ejemplo de funcionamiento

Procesos implicados
NFS se basa en RPC ( el servicio activo

Remote Procedure Call )


(tambin llamado

portmap

rpcbind ) debe estar disponible y

convierte nmeros de programas RPC en nmeros de puertos utiliza el puerto 111 necesario para aplicaciones que usen RPC el comando

rpinfo

nos muestra informacin RPC

en Debian, paquete

portmp

Otros demonios necesarios:

rpFnfsd:

implementa la parte de usuario del servidor NFS (atender

y resolver las peticiones de acceso del cliente a archivos situados en el directorio remoto)

rpFmountd:

proceso que recibe la peticin de montaje desde un clien-

te NFS y chequea para mirar si coincide con un sistema de cheros actualmente exportado, y si el cliente tiene permisos sucientes para montar dicho directorio

rpFrquotd:

proporciona informacin de cuotas a usuarios remotos

13

rpFsttd:

implementa el protocolo NSM (

Network Status Monitor );

proporciona un servicio de noticacin de reinicio, cuando NFS cae; lo usa el servicio de bloqueo de cheros

lockd

rpFlokd: servicio de bloqueo de cheros (NFS lock manager, NLM);


no necesario en kernels modernos (>= 2.4) en los que el boqueo es realizado por el kernel NFSv4 no usa

portmp,

ni los demonios

rpFmountd

rpFsttd

Usa autenticacin basada en Kerberos mediante los siguientes servicios:

rpcsec_gss

(cliente

rpFgssd,

servidor

rpFsvgssd):

autentica-

cin de la conexin cliente-servidor

rpFidmpd: mapeo entre UIDs (o GIDs) y nombres de usuario (o


nombres de grupos)

4.2. Instalacin de NFS en Debian


Antes de utilizar NFS, ya sea como servidor o como cliente, el kernel debe tener compilado el soporte NFS podemos comprobarlo consultando los tipos de lesystems soportados por el sistema de cheros virtual (VFS) en

GproGfilesystems

5 t extP nodev nodev nodev

GproGfilesystems pro devpts nfs

Si no est tendramos que recompilar el kernel activando el soporte NFS Veremos como instalar un servidor y con cliente NFS en Debian

Servidor NFS
1. Instalar el paquete

nfsEkernelEserver

nfsEommon
y para

nfsEkernelEserver proporciona rpFnfsd, rpFmountd, NFSv4 rpFsvgssd nfsEommon proporciona rpFlokd, rpFsttd, rpFgssd y rpFidmpd
14

y para NFSv4

2. Congurar los directorios a exportar: chero Ejemplo de chero

GetGexports

GetGexports @roA projBFusFes@rwA IWQFIRRFVRFHGPR@rwDrootsqushDsynA @roDllsqushA


de slo lectura para todo el mundo y lectu-

Gprojets Ghome Gpu


exporta

Gprojets

ra/escritura para los sistemas

projBFusFes

Algunas opciones de la exportacin:

rwGro

exporta el directorio en modo lectura/escritura o slo

lectura

rootsqush
usuario

annimo

mapea los requerimientos del UID/GID 0 al (por defecto usuario

nobody,

con UID/GID

65534); es la opcin por defecto

norootsqush no mapea root al usuario annimo llsqush mapea todos los usuarios al usuario annimo squshuidsGsqushgids especica una lista de UIDs
GIDs que se deberan trasladar al usuario annimo

squshuidsaHEISDPHDPSESH nonuidGnongid ja el UID/GID


defecto 65534)

del usuario

annimo

(por

sutreehekGnosutreehek

si se exporta un subdi-

rectorio (no un lesystem completo) el servidor comprueba que el chero solicitado est en el rbol de directorios exportado

syn modo sncrono: requiere que todas las escrituras se completen antes de continuar; es opcin por defecto

syn modo asncrono: no requiere que todas las escrituras se


completen; ms rpido, pero puede provocar prdida de datos en una cada

seure

los requerimientos deben provenir de un puerto por

debajo de 1024

inseure
puerto

los requerimientos pueden provenir de cualquier

Para ms opciones

mn exports

Cada vez que se modica este chero se debe ejecutar el comando

exportfs

para actualizar el servidor

15

5 exportfs Er

ver

mn exportfs

para opciones del comando

3. Iniciar el demonio:

5 GetGinitFdGnfsEkernelEserver strt
4. Comprobar los directorios exportados con

showmount

5 showmount EEexports lolhost showmount


muestra informacin de un servidor NFS: directorios que exporta, directorios montados por algn cliente y clientes que montan los directorios 5. Podemos ver las estadsticas del servidor NFS con

nfsstt

Cliente NFS
El cliente NFS en Linux est integrado en el nivel del Sistema de Ficheros Virtual (VFS) del kernel no necesita un demonio particular de gestin (en otros UNIX, demonio

biod )

Instalacin: 1. Instalar (si no est ya instalado) el paquete 2. Montar los directorios remotos con en

nfsEommon

fst

mount Et nfs o aadir una entrada

(ver Tema 4: Montado de los sistemas de cheros)

Ejemplo de uso con

mount: fst GmntGhome nfs rw H H

5 mount Et nfs IWQFIRRFVRFHXGhome GmntGhome


Ejemplo de entrada en

IWQFIRRFVRFHXGhome

Automount se usa frecuentemente con NFS (ver la parte de Autofs en Tema 4: Montado de los sistemas de cheros) Opciones particulares de montado con NFS:

rsizean /wsizean

especican el tamao del datagrama utilizado por

los clientes NFS cuando realizan peticiones de lectura/escritura (pueden ajustarse para optimizar)

16

hrd

el programa accediendo al sistema de cheros remoto se colgar

cuando el servidor falle; cuando el servidor est disponible, el programa continuar como si nada (opcin ms recomendable)

soft cuando una peticin no tiene respuesta del servidor en un tiempo jado por timeoat el cliente devuelve un cdigo de error al proceso
que realiz la peticin (puede dar problemas) Para ver ms opciones, ver

nfs@SA

Prcticas
1. En el sistema servidor instalar un servidor de NFS y exportar el lesystem

Ghome
usar

en modo lectura/escritura para ver que est exportado

showmount

2. Desde el cliente, montar el directorio remoto en

GmntGhome
del servidor desde

a) b)

Comprobar que un usuario (con el mismo UID en cliente y servidor) puede acceder (leer y escribir) a su el cliente Comprobar como el torio remoto: cambiar las opciones de exportacin para darle permisos

home

root

del cliente no tiene permisos en el direc-

4.3. Consideraciones de seguridad en NFS


NFS no fue diseado pensando en la seguridad: Los datos se transmiten en claro Usa el UID/GID del usuario en el cliente para gestionar los permisos en el servidor:

El usuario con UID usuarios distintos)

en el cliente obtiene permisos de acceso a

los recursos del usuario con UID

en el servidor (aunque sean

Un usuario con acceso a root en un cliente podra acceder a los cheros de cualquier usuario en el servidor (no a los de root, si se usa la opcin

rootsqush)

Precauciones bsicas:

17

1. Usar NFS slo en Intranets seguras, donde los usuarios no tengan acceso de administrador en sus sistemas 2. Evitar el acceso a NFS desde fuera de la Intranet Bloquear los puertos TCP/UDP 111 ( 3. Usar NFSv4 con

portmap ) y 2049 (nfs )

RPCSEC_GSS , que incluye autenticacin

4. Usar versiones seguras de NFS (Secure NFS) o otros sistemas de cheros (Self-certifying File System, SFS) Ver NFS howto y UNIX Security Checklist

Prcticas
1. Leer los puntos mostrados en:

httpXGGwwwFertForgGtehtipsGusPHfullFhtml5IIFI

5. Comparticin de la conguracin
Necesidad de mantener una conguracin nica a travs de mltiples sistemas Comparticin de los cheros de conguracin Ficheros a compartir:

GetGpsswd, GetGshdow, GetGgroup,


Mecanismos de comparticin:

etc.

Copia de cheros de un servidor central al resto de los equipos mediante

rdist

rsyn

Utilizacin de un servidor de dominio, que centralice esa informacin

NIS: Network Information Service LDAP: Lightweight Directory Access Protocol

18

5.1. Concepto de dominio


Dominio
conjunto de equipos interconectados que comparten informacin administrativa (usuarios, grupos, contraseas, etc.) centralizada Necesidad de uno (o varios) servidores que almacenen fsicamente dicha informacin y que la comunique al resto cuando sea necesario Normalmente se usa un esquema cliente/servidor

p.e. un usuario se conecta en un sistema cliente y este valida las credenciales del usuario en el servidor

En Windows 2000, la implementacin del concepto de dominio se realiza mediante el denominado Directorio Activo (

Active directory )

Basado en LDAP y DNS

En UNIX, el servicio clsico de gestin de dominios es NIS

NIS se considera bastante obsoleto

Existen implementaciones libre del protocolo LDAP para Unix (openvhe)

ms potente y escalable que NIS para la implementacin de dominios

6. Servicio de Informacin de Red NIS


Desarrollado por Sun Microsystem en los aos 80 Nombre original

Yellow Pages

(modicado por razones legales)

Muy popular como sistema de administracin de dominios en UNIX A principios de los aos 90, versin NIS+ para Solaris 2.x

muy diferente de NIS incorpora soporte para encriptacin y autenticacin de datos complejo y poco soportado

Para ms informacin:

The Linux NIS(YP)/NYS/NIS+ HOWTO Debian NIS HOWTO Introduccin a NIS y NFS

19

6.1. Funcionamiento bsico de NIS


Base de datos distribuida Un servidor ( temas (GetGpsswd,

master ) mantiene los cheros de conguracin de los sisGetGgroup,


etc.)

cada archivo de conguracin se convierte en una o ms tablas (

mapas

NIS) de una base de datos

esos mapas se guardan en un formato binario llamado DBM (

taBase Management )
las DBM

Da-

el servidor NIS maestro debera tener ambas, las tablas ASCII y

en una red debe haber al menos una mquina actuando como un servidor NIS maestro

Los clientes hablan directamente con el servidor NIS para leer la informacin almacenada en sus bases de datos DBM Pueden existir servidores NIS esclavos:

tienen copias de las bases de datos NIS reciben estas copias del servidor NIS maestro cada vez que se realizan cambios a las bases de datos maestras

Un servidor maestro y sus servidores esclavos y clientes constituyen un dominio NIS

una red puede tener mltiples servidores NIS, cada uno sirviendo a un dominio NIS diferente

Esquema de un dominio NIS

20

6.2. Comandos bsicos de NIS


NIS incluye un conjunto amplio de comandos y demonios, algunos de los cuales son:

ypserv ypind

demonio de servidor demonio de cliente establece el nombre del dominio

dominnme ypinit ypxfr


mapas

congura un servidor como maestro o esclavo

descarga un mapa desde servidor maestro (en los esclavos) ejecutado en el maestro, hace que los esclavos actualicen sus

yppush

ypwhih ypt

muestra el sombre del servidor NIS

muestra las entradas de un mapa cambia la contrasea en la base de datos de NIS

yppsswd yphfn yphsh

cambia el campo GECOS en la base de datos de NIS cambia el login shell en la base de datos de NIS

21

6.3. Instalacin de NIS en Debian


El proceso de puesta en marcha de NIS depende de la distribucin veremos como instalar un servidor maestro y un cliente en Debian

Servidor maestro
1. Instalar el paquete

nis

a) b)

Indicar un nombre de dominio NIS (que no tiene que corresponder con el dominio de RED) El nombre de dominio puede cambiarse con

dominnme

La conguracin puede tardar, ya que intenta iniciarse como cliente NIS y se queda buscando un servidor

2. Cambiar el chero

GetGdefultGnis xsiiamster
aadir el nmero de la red

debemos poner 3. En el chero

GetGypservFseurenets

local, para permitir acceso exclusivo a los sistemas de esa red

PSSFPSSFPSSFH
4. Ejecutar

IWPFITVFHFH
para iniciar el servidor

GusrGsinGypserv

5. Editar (si es necesario) el chero

GvrGypGwkefile

permite congurar caractersticas generales as como las tablas a partir de las cuales se crean los mapas NIS haciendo en

mke en ese directorio se crean los mapas que se guardan GvrGypGdominio mke
para actualizar los mapas NIS

cada vez que se modique alguna tabla (p.e. aadiendo un nuevo usuario), debemos hacer 6. Ejecutar

GusrGliGypGypinit Em para que el sistema se congure co-

mo servidor maestro no aadir ningn servidor NIS ms (gtrlEh) 7. Podemos comprobar que funciona bien haciendo un de los mapas (p.e.

ypt psswd)

ypt

de alguno

8. Por ltimo, el servidor debe congurarse tambin como cliente seguir los pasos de la siguiente seccin

22

Cliente NIS
1. Eliminar de los cheros locales los usuarios, grupos y otra informacin que queramos que sea accesible por NIS (slo en los clientes) 2. Instalar el paquete

nis

e indicar el nombre del dominio NIS para especicar el servidor NIS

3. Si se desea, cambiar concreto

GetGypFonf

por defecto, busca el servidor mediante un broadcast 4. Modicar el archivo

group

shdow

GetGnsswithFonf files nis files nis files nis

para que busque

psswd,

por NIS:

psswdX groupX shdowX

El formato y opciones de ese chero lo vimos en el Tema 5: Ficheros de conguracin de red Alternativamente, se puede dejar el modo nal de los cheros indicar que vamos a usar NIS este mtodo permite incluir/excluir determinados usuarios ver NIS-HOWTO: Setting up a NIS Client using Traditional NIS

ompt aadiendo al psswd, shdow y group del cliente un C, para

6.4. Fichero /etc/netgroup


NIS introduce el concepto de

netgroups

grupos de usuarios, mquinas y redes que pueden ser referenciadas como un conjunto se denen en el chero NIS maestro Formato de una entrada en

GetGnetgroup, en principio, slo en el servidor netgroup

netgroupnme @hostD userD xsdominAD FFF host user


nombre de una mquina en el grupo nombre de login de un usuario de la mquina

host

23

xsdomin

dominio NIS nombre del dominio NIS

Pueden dejarse entradas en blanco o con un guin: Una entrada en blanco implica cualquier valor, p.e.

@doIWD D A

indica todos los usuarios del host

doIW

Una entrada con un guin (E) implica campo sin valor, p.e.

@ED pepeD A
Ejemplo de un chero

indica el usuario

pepe

y nada ms

GetGnetgroup

sysdmins servers lients reserh llusers llhosts


Estos

@EDpepeDA @EDheidisDA @EDjnguyenDA @EDmphmDA @numrkDEDA @vestxDEDA @denonDEDA @tehnisDEDA @mtxDEDA @EDosonDA @EDjyomDA @EDwelsDA @EDjffeDA sysdmins reserh servers lients
pueden usarse en varios cheros del sistema para denir

netgroups

permisos: con NIS en modo daramos

ompt, p.e. aadiendo Cdsysdminds en GetGpsswd permiso de acceso a los usuarios denidos como sysdmins GetGexports, para indicar grupos de mquinas a las que llhosts@rwDrootsqushDsynA GetGhostsFllow
y

en el chero

exportar un directorio por NFS

Ghome
en los cheros Wrappers etc.

GetGhostsFdeny

de los TCP

7. Servicio de directorio: LDAP


cess Protocol )
X.500 LDAP: Protocolo Ligero de Acceso a Directorios (

Lightweight Directory Ac-

Protocolo de red para consulta y modicacin de datos de directorios

24

X.500: Estndares de la ITU-T para servicios de directorio Dene, entre otros, un protocolo de acceso a directorios llamado DAP (

Directory Access Protocol )

DAP denido sobre la pila completa de niveles OSI: costoso y complejo

LDAP es una alternativa ligera al protocolo DAP

Opera directamente sobre TCP/IP Actualmente, la mayora de servidores de directorio X.500 incorporan LDAP como uno de sus protocolo de acceso

Diferentes implementaciones del protocolo LDAP

Microsoft Server 2003 Active Directory Novell eDirectory Sun Java System Directory Server IBM Tivoli Directory Server Apache Directory Server Fedora Directory Server Red Hat Directory Server OpenLDAP

Ms informacin sobre LDAP 1. LDAP Linux HOWTO 2. IBM RedBooks: Understanding LDAP - Design and Implementation 3. Recursos, ayudas, . . . : ldapman.org

7.1. OpenLDAP
Implementacin

open source

del protocolo LDAP

Basado en software desarrollado en la Universidad de Michigan Incluye cuatro componentes principales

slapd - demonio LDAP stand-alone (servidor)

25

slurpd - demonio de replicacin y actualizacin de LDAP libreras que implementan el protocolo LDAP utilidades, herramientas, y clientes bsicos

Ms informacin sobre la conguracin de OpenLDAP: 1. OpenLDAP Administrator's Guide 2. Integracin de redes con OpenLDAP, Samba, CUPS y PyKota

7.2. Modelo de datos de LDAP


Un directorio es una base de dato optimizada para lectura, navegacin y bsqueda la informacin se almacena de manera jerrquica generalmente no se soportan transacciones complejas ni sistemas de recuperacin las actualizaciones son cambios simples proporcionan respuestas rpidas a grandes volmenes de bsquedas el directorio puede estar replicado y/o distribuido entre varios sistemas (p.e. DNS) LDAP organiza el directorio como una estructura jerrquica de entradas (nodos) en forma de rbol Cada entrada posee un conjunto de atributos, que pueden ser de diferentes tipos

cada atributo se identica por su tipo y uno o ms valores

uid (identicador de usuario), n (common name ), (country ), d (domain


los tipos son normalmente palabras nemotcnicas, como

component ), etc.

los diferentes atributos de un nodo estn determinados por la clase a la que pertenece las clases permiten denir entradas con diferente informacin: clases para personas, para equipos, administrativas, etc. las clases se denen mediante cheros de

esquema (schema )

26

Cada nodo debe poseer un nombre nico: (

distinguished name )

el

nombre distinguido

dn

dn

identica de forma unvoca cada objeto en la base de datos

Ejemplo: rbol de usuarios y grupos en LDAP, basado en nombres de dominios de Internet:

cada nodo puede tener varios atributos, p.e. el nodo los siguientes atributos:

pepe

podra tener

dnX natose enDouaeopleDdamidominioDdaom ojetglssX ount uidX pepe snX en desriptionX lumno milX pepedmidominioFom
el formato en el que se muestran los atributos del objeto se denomina LDIF (

LDAP Data Interchange Format )

formato de intercambio de datos para importar y exportar datos a un servidor LDAP

27

7.3. Instalacin de un servidor LDAP


Describiremos como montar un servidor LDAP simple que nos permita la gestin de usuarios y grupos el servidor mantendr la lista de usuarios y grupos del dominio en los clientes la autenticacin de usuarios y los permisos se basar en el servidor LDAP

Pasos para la instalacin del servidor en Debian


1. Instalar los siguientes paquetes:

a ) slpd: servidor OpenLDAP b ) ldpEutils: utilidades del paquete OpenLDAP


incluye comandos como El comando

ldpserh, ldpdd

slpt

permite ver la estructura creada

Podemos hacer bsquedas sencillas con

ldpserh

5 ldpserh Ex E damidominioDdaom @nadminA


2. Ficheros de conguracin:

a)

Fichero

GetGldpGldpFonf

Fichero de conguracin global para los clientes LDAP Permite especicar la base por defecto, el servidor LDAP, etc. (cambiarlo para poner nuestra conguracin, comprobar que tiene permisos 644) Para ms info, ver

mn ldpFonf slpd

b)

Fichero

GetGldpGsldpFonf

Fichero de conguracin del demonio

En principio, no es necesario cambiarlo (comprobar que tiene permisos 600) 3. Crear la estructura de la base de datos: crearemos los nodos de y

qroup

eople

del rbol LDAP

a)

Crear el siguiente chero

estruturFldif

en formato LDIF:

28

dnX ouaeopleDdamidominioDdaom ojetglssX top ojetglssX orgniztionlnit ouX eople dnX ouaqroupDdamidominioDdaom ojetglssX top ojetglssX orgniztionlnit ouX qroup

b)

Aadir los nodos a la base de datos:

5 ldpdd Ex Eh 9nadminDdamidominioDdaom9 E Ef estruturFldif Ex autenticacin simple sin SASL (Simple Authentication and Eh E Ef
nombre distinguido con el que nos conectamos a LDAP

Security Layer )

(ponemos el del administrador) pide la contrasea de forma interaciva chero a cargar

4. Aadir un usuario y un grupo a la base de datos

a)

Crear un chero como este, que tiene la informacin para un usuario y un grupo (no useis acentos!):

dnX natose enDouaeopleDdamidominioDdaom ojetglssX top ojetglssX ount ojetglssX posixeount ojetglssX shdoweount uidX pepe nX tose en uidxumerX PHHH gidxumerX PHHH homehiretoryX GhomeGpepe loginhellX GinGsh geosX tose enD hespho PPDD dnX napepeDouaqroupDdamidominioDdaom ojetglssX top
29

ojetglssX posixqroup nX pepe gidxumerX PHHH


dene un usuario

pepe

y un grupo

milar a la aparece en el chero

pepe con GetGpsswd

informacin si-

puede aadirse ms informacin, como la que aparece en el chero etc.

GetGshdow: campos shdowwx, shdowixpire, shdowrning,

b)

Aadir el chero con:

5 ldpdd Ex Eh nadminDdamidominioDdaom E Ef userEgroupFldif

c) d)

Probarlo haciendo bsquedas, tipo:

5 ldpserh Ex uidapepe
Aadir una contrasea al usuario: puede hacerse directamente metiendo un campo ferible hacerlo

userssword en el chero anterior, pero es premediante el comando ldppsswd

5 ldppsswd Ex natose enDouaeopleDdamidominioDdaom Eh nadminDdamidominioDdaom E E


5. Si queremos migrar la informacin de los cheros podemos usar el paquete

MigrationTools (ver www.padl.com/OSS/MigrationTools.html)

Get

o NIS a LDAP

6. Por ltimo, tambin podemos querer instalar el servidor como cliente, por lo que debemos seguir los pasos indicados en la seccin de instalacin de un cliente

Fichero de conguracin slpdFonf


Fichero de conguracin del demonio Tiene dos partes: 1. Directivas globales: distintos tipos de opciones del servidor, entre ellas los esquemas que el directorio debe conocer:

slpd

nisFshem

dene los atributos de objetos para las cuentas de

usuario, grupos, etc. se basa en los esquemas bsicos

oreFshem

osineFshem

30

inetorgpersonFshem
sonal para los usuarios

aade objetos con ms informacin per-

2. Directivas especcas para las distintas bases de datos Incluye el

sujo,

directorio donde guardar la base, y el tipo de

database a usar (por defecto

d,

Berkeley Database)

Tambin un conjunto de reglas de acceso de la forma:

ess to `whtby `whob`essontrolbC `whtb


es una expresin que especica a qu datos del directorio se aplica la regla. Tres opciones:

a) b)

puede indicarse todo el directorio mediante un asterisco (*) un subconjunto de entradas cuyo nombre distinguido contiene un cierto sujo (por ejemplo,

dna4FBDdamidominioDdaom4) c ) un atributo concreto de dichos objetos (por ejemplo, dna4FBDouaeopleDdamidom

`whob indica a quin (a qu usuario(s)) se especica la regla; puede


tomar diferentes valores, siendo los ms comunes los siguientes:

self el propietario de la entrada dna4FFF4 el usuario representado por el nombre users cualquier usuario acreditado nonymous cualquier usuarios no acreditado B cualquier usuario none sin acceso uth utilizar la entrada ompre comparar serh bsqueda red lectura write modicacin

distinguido

`essontrolb

indica qu operacin concede la regla:

para validarse

Por ejemplo, la regla por defecto para y el administrador las de todos

userssword permite que

los usuarios puedan autenticarse y cambiar sus propias contraseas

7.4. Instalacin de un cliente LDAP


Describiremos como como congurar un cliente para que acceda a la informacin almacenada en el directorio de LDAP del servidor

31

Dos pasos: 1. Congurar el 2.

Name Service Switch (chero GetGnsswithFonf) Congurar el mdulo de autenticacin (PAM, Pluggable Authentication Modules )

Los mdulos necesarios para esta conguracin pueden descargarse de la pgina de PADL (www.padl.com) o directamente como paquetes Debian En algunas distros (RedHat) existe la herramienta facilita esta conguracin

uthonfig

que

Congurar el Name

Service Switch

El NSS se encarga, entre otras, de realizar la correspondencia entre los nmeros y nombres de usuario permite gestionar los permisos de acceso de usuarios a cheros se congura a travs del chero

GetGnsswithFonf

la conguracin de ese chero la vimos en el tema 5 Pasos (hacerlos en un sistema diferente del servidor): 1. Instalar el paquete

linssEldp

En la conguracin indicar la IP del servidor LDAP y el DN de la base del directorio LDAP

esa conguracin se guarda en el chero

GetGlinssEldpFonf

2. Modicar las lneas de

psswd, group y shdow del chero nsswithFonf

psswdX groupX shdowX

files ldp files ldp files ldp

esto indica al NSS que busque la informacin primero en los cheros y, si no la encuentra, en el servidor LDAP 3. Probar que funciona:

a)

Hacer un

finger

al usuario denido en LDAP

32

5 finger pepe voginX pepe hiretoryX GhomeGpepe FFF

xmeX tose en hellX GinGsh

b) c)

Crear el directorio Hacer un

GhomeGpepe

y cambiarle el propietario a

pepe

pepe

su E pepe

para ver que podemos cambiar al usuario

en el cliente

Congurar el mdulo de autenticacin


Aunque el usuario es vlido en el cliente, todava no podemos autenticarnos (entrar en la cuenta) Debemos congurar el servicio PAM

PAM (Pluggable

genrica que cualquier aplicacin puede utilizar para validar usuarios, utilizando por debajo mltiples esquemas de autenticacin alternativos (cheros locales, Kerberos, LDAP, etc.) permite aadir nuevos mecanismos de autenticacin (Kerberos, LDAP,. . . ) sin tener que modicar los servicios de entrada al sistema como

Authentication Module )

biblioteca de autenticacin

login, ftp, ssh,

etc.

PAM utiliza mdulos que proporcionan autenticacin en los servicios de entrada al sistema: Mdulos de autenticacin (uth): comprobacin de contraseas (utilizado por el proceso de son correctas)

login

para averiguar si las

credenciales tecleadas por el usuario (nombre y contrasea) Mdulos de cuentas (ount): controlan que la autenticacin sea permitida (que la cuenta no haya caducado, que el usuario tenga permiso de iniciar sesiones a esa hora del da, etc.) Mdulos de contrasea (pssword): permiten cambiar contraseas Mdulos de sesin (session): conguran y administran sesiones de usuarios (tareas adicionales que son necesitadas para permitir acceso, como el montaje de directorios, actualizacin del chero

lstlog,

etc.)

33

Las libreras de PAM estn en conguracin en a travs del

GliGseurity y los cheros de GetGpmFdG (en versiones viejas, se conguraba chero GetGpmFonf)

Existe un chero de conguracin para cada servicio que usa PAM Tambin existen cheros comunes que son incluidos por los cheros de conguracin: y

ommonEuth, ommonEount, ommonEpssword ommonEsession


en el cliente seguimos los

Conguracin de PAM para usar LDAP


siguientes pasos: 1. Instalar el paquete Cambiar el

lipmEldp
al DN del administrador LDAP

Root login account

El resto de opciones dejarlas por defecto La conguracin es en el chero

GetGpmldpFonf pmldpFonf

Para ms informacin, ver la pgina de manual de

NOTA sobre la conguracin: en el ltimo paso de la instalacin nos pide la clave del administrador de LDAP esta clave se guarda en plano en el chero y se usa para que el las contraseas de los usuarios si no se quiere tener ese chero con la clave, dejar vaco el campo clave y en el chero empieza por

GetGpmldpFseret, root del sistema pueda modicar directamente

GetGpmldpFonf rootinddn

comentar la lnea que

2. Cambiar los cheros

ommonEuth, ommonEount y ommonEpssword, suffiient


por

aadiendo la siguiente lnea:

<mdulo>
cambiando da 3. En el chero

pmldpFso

<mdulo>

uth, ount o pssword segn correspon-

ommonEuth aadir usefirstpss despus de pmunixFso

esto evita que a los usuarios no-LADP se les pida la contrasea dos veces

34

4. Podemos crear directorios home al vuelo: aadir lo siguiente al principio de

ommonEsession required pmmkhomedirFso skelaGetGskelG umskaHHPP

session

al entrar el usuario en la cuenta, si no existe su HOME, se crea 5. Probar que funciona:

a) b)

Entrar en la cuenta como un usuario LDAP Cambiar la contrasea del usuario

Instalacin del paquete nsd


podemos instalar el paquete

una vez que todo funciona, en el cliente

nsd

Name Service Cache Daemon


Hace cach para los nombres leidos del servidor LDAP

Prcticas
1. Seguir los pasos indicados para congurar un sistema como servidor NIS y otro como cliente los usuarios deben autenticarse contra LDAP

7.5. Migracin desde cheros o NIS


Si tenemos un sistema congurado mediante cheros (psswd, o NIS, migrar a LDAP puede ser laborioso los scripts del paquete

shdow,

etc.)

MigrationTools

son de gran ayuda

Migracin desde cheros


Pasos para migrar los usuarios denidos en 1. Instalar el paquete 2. Modicar el chero

GetGpsswd

a LDAP

migrtiontools GusrGshreGmigrtiontoolsGmigrteommonFph

para indicar el dominio y la base LDAP

6hipevwesvhywesx a 4midominioFom4 6hipevfei a 4damidominioDdaom4


35

3. Utilizar los diferentes scripts del directorio

GusrGshreGmigrtiontools

para incorporar la informacin del sistema al directorio

migrteseFpl
tenemos)

genera entradas correspondientes a las unida-

des organizativas por defecto:

eople, qroup, rosts,

etc. (ya lo

Otros scripts generan entradas asociadas a diferentes cheros del sistema

Script
migrate_passwd.pl migrate_group.pl migrate_hosts.pl migrate_fstab.pl ... /etc/hosts /etc/fstab

Migra
/etc/passwd y /etc/shadow /etc/group

Estos scripts generan cheros LDIF que podemos aadir a la base LDAP con

ldpdd

Ejemplo: migracin de los usuarios

5 FGmigrtepsswdFpl GetGpsswd FGpsswdFldif



debemos editar el chero generado para eliminar los usuarios del sistema (root,

noody,
2

etc.)

luego, lo aadimos con :

5 ldpdd Ex Eh nadminDdamidominioDdaom E Ef FGpsswdFldif

Prcticas
1. Usar las

MigrationTools

para migrar los usuarios y grupos que tenga-

mos denidos

7.6. Conguracin de LDAP con mltiples servidores


Podemos congurar varios servidores LDAP que mantengan imgenes sincronizadas de la informacin del directorio equilibran la carga de las consultas, y mejora la tolerancia a fallos Esquema de maestro nico y mltiples esclavos el

maestro mantiene la copia principal sobre la que se hacen los cambios


dar problemas con los nombres acentuados

2 Puede

36

si un cliente intenta hacer un cambio en un esclavo, este lo redirige automticamente al maestro

cada vez que se produce un cambio en el directorio del maestro, el servicio log el demonio

slpd escribe dicho cambio, en formato LDIF, en un chero de slurpd


lee dichos cambios e invoca las operaciones de mo-

dicacin correspondientes en todos los esclavos Para congurarlo debemos hacer que el maestro y los esclavos partan de un estado de directorio comn copiar manualmente la base de datos LDAP del maestro a todos los esclavos En el maestro y en los esclavos debemos modicar el chero Maestro:

GetGldpGslpdFonf

aadir una directiva

repli

por cada esclavo, donde se indique

el nombre del esclavo y una cuenta con permiso de escrtitura en el LDAP del esclavo (indn)

repli urialdpXGGeslvoFmidominioFomXQVW inddna4naeplitorDdamidominioDdaom4 indmethodasimple redentilsagyxeievexe

indicar el chero de log donde se guardan los cambios

replogfile
Esclavo:

GvrGliGldpGreplog

aadir una lnea vicio

slurpd

updtedn

indicando la cuenta con la que el ser-

del servidor maestro va a realizar las modicaciones

en la rplica del esclavo

esa cuenta debe tener permisos de escritura en la base de datos del esclavo, y debe coindidir con la indicada en el campo del maestro

inddn

aadir una lnea

updteref

para indicar al servidor esclavo que

cualquier peticin directa de modicacin que venga de un cliente debe ser redireccionada al servidor maestro

37

updtedn 4naeplitorDdamidominioDdaom4 updteref ldpXGGmestroFmidominioFom


Para ms detalles ver: OpenLDAP Administrator's Guide: Replication with slurpd

7.7. Herramientas de administracin de LDAP


Administrar LDAP desde lnea de comandos resulta muy engorroso Existen numerosas herramientas visuales que facilitan la gestin de LDAP Algunas de ellas son: 1. phpldapadmin - interfaz basada en web para administrar servidores LDAP 2. gosa - herramienta de administracin, basada en PHP, para gestin de cuentas y sistemas en LDAP 3. directory-administrator - herramienta grca de gestin de directorios LDAP 4. ldap-account-manager - webfrontend para gestin de cuentas en un directorio LDAP 5. gq - cliente LDAP basado en GTK+/GTK2 (bastante simple) 6. cpu - herramientas de gestin para consola: proporciona comandos tipo

userdd/userdel

para usar con LDAP

Prcticas
1. Probar alguna de las herramientas comentadas Por ejemplo, para el y ejecutamos

gq

gq

instalamos el paquete del mismo nombre

pile Ebreferenes Ebervers seleccionamos lolhost y idit En qenerl ponemos el fsehx y en hetils ponemos dn del administrador LDAP en findhx
En

Probar a aadir un nuevo usuario a partir de uno ya existente

38

8. Comparticin Linux-Windows: Samba


Samba permite a un sistema UNIX conversar con sistemas Windows a travs de la red de forma nativa el sistema Unix aparece en el Entorno de red de Windows los clientes Windows pueden acceder a sus recursos de red e impresoras compartidas el sistema UNIX puede integrarse en un dominio Windows, bien como Controlador Primario del Dominio (PDC) o como miembro del dominio Veremos una conguracin bsica de Samba; para saber ms: 1. The Samba Homepage 2. The Ocial Samba-3 HOWTO and Reference Guide 3. The Unocial Samba HOWTO 4. The Linux Samba-OpenLDAP Howto 5. Using Samba, 2nd Edition, O'Reilly & Associates 6. Integracin de redes con OpenLDAP, Samba, CUPS y PyKota 7. Curso de Integracin de Sistemas Linux/Windows

8.1. Funcionamiento de Samba


Samba implementa los protocolos NetBIOS y SMB NetBIOS: protocolo de nivel de sesin que permite establecer sesiones entre dos ordenadores SMB (

Server Message Block ): permite a los sistemas Windows compartir cheros e impresoras (llamado Common Internet File System, CIFS

por Microsoft) Samba ofrece los siguientes servicios Servicios de acceso remoto a cheros e impresoras Autenticacin y autorizacin Servicio de resolucin de nombres

39

Demonios Samba
Samba utiliza dos demonios:

smd

nmd

smd

permite la comparticin de archivos e impresoras sobre una red

SMB, y proporciona autenticacin y autorizacin de acceso para clientes SMB; ofrece los dos modos de comparticin de recursos existentes en Windows

modo basado en usuarios o modo Windows NT o 2000) modo basado en recursos o modo 3.11/95)

user

(propio de los dominios

shre

(propio de Windows

nmd permite que el sistema Unix participe en los mecanismos de resolucin de nombres propios de Windows (WINS), lo que incluye

anuncio en el grupo de trabajo gestin de la lista de ordenadores del grupo de trabajo contestacin a peticiones de resolucin de nombres anuncio de los recursos compartidos

Otras utilidades Samba


Adicionalmente a los dos programas anteriores, Samba ofrece varias utilidades; algunas de las ms relevantes son:

smlient

interfaz que permite a un usuario de un sistema Unix co-

nectarse a recursos SMB y listar, transferir y enviar cheros

swt (Samba Web Administration Tool ) utilidad para congurar Samba


de forma local o remota utilizando un navegador web

smfs sistema de cheros SMB para Linux: permite montar un recurso


SMB ofrecido por un servidor SMB (un sistema Windows o un servidor Samba) en un directorio local

winind permite al sistema UNIX resolver nombres y grupos desde un


servidor Windows

8.2. Instalacin bsica de Samba


Veremos una instalacin bsica de Samba en nuestro sistema Debian: permitir desde un Windows acceder a los directorios de usuarios

40

Instalacin de los paquetes


El paquete bsico a instalar es

sm

que incluye los demonios de Samba

instala tambin el paquete

smpsswd smlient smfs

testprm

smEommon, que incluye utilidades como

Otros paquetes de Samba son: herramientas para el cliente Samba

comandos para montar y desmontar

smfs

swt Samba Web Administration Tool winind


Slo instalaremos

sm

smEommon

la instalacin nos pide un nombre de Grupo de Trabajo/Dominio

indicar un nombre, que debemos usar en el sistema Windows

8.3. Conguracin de Samba


La conguracin de Samba se realiza en el chero

GetGsmGsmFonf

establece las caractersticas del servidor Samba, as como los recursos que sern compartidos en la red Ejemplo sencillo:

glol workgroup a wsqy homes omment a rome hiretories pu pth a GespioGpu

Estructura del archivo smFonf


El chero

GetGsmGsmFonf

se encuentra divido en secciones, encabe-

zados por una palabra entre corchetes En cada seccin guran opciones de conguracin, de la forma

a vlor,
la seccin

etiquet

que determinan las caractersticas del recurso exportado por

41

Existen tres secciones predenidas: Otras secciones (como para compartir Secciones predenidas:

glol, homes

printers

pu en el ejemplo anterior) denen otros recursos

glol

dene los parmetros de Samba a nivel global del servidor, por

ejemplo, el programa utilizado para que un usuario pueda cambiar su clave (psswd

progrm)

homes

dene automticamente un recurso de red por cada usuario conodel usuario en el ordenador en el que Samba est instalado dene un recurso compartido por cada nombre de impresora

cido por Samba; este recurso, por defecto, est asociado al directorio

home

printers

conocida por Samba

Niveles de Seguridad
Samba ofrece dos modos de seguridad, correspondientes a los dos modos de comparticin de recursos ya vistos Modo

share : cada vez que un cliente quiere utilizar un recurso ofrecido

por Samba, debe suministrar una contrasea de acceso asociada a dicho recurso Modo

user :

el cliente establece una sesin con el servidor Samba (me-

diante usuario y contrasea); una vez Samba valida al usuario, el cliente obtiene permiso para acceder a los recursos ofrecidos por Samba El nivel de seguridad se especica con la opcin a la seccin

glol

seurity, la cual pertenece

seurity a shre | user | server | domin | eh


Los niveles seguridad

user, server, domin y eh corresponden todos ellos al modo de user user: el encargado de validar al usuario es el sistema Unix donde

Nivel

Samba se ejecuta; es necesario que existan los mismos usuarios y con idnticas contraseas en los sistemas Windows y en el servidor Samba Nivel

server: Samba delega la validacin del usuario en otro ordenador,

normalmente un sistema Windows 2000 (mtodo no recomendado)

42

Nivel

domin: el ordenador en el que se delega la validacin debe ser un

Controlador de Dominio (DC), o una lista de DCs; el sistema Samba acta como miembro de un dominio Nivel

eh:

en Samba-3 permite unirse a un dominio basado en Active

Directory como miembro nativo El modo por defecto es

user

8.4. Otros comandos Samba


La suite Samba incluye otros comandos, como son:

testprm net

permite chequear el chero

smFonf

para ver si es correcto

herramienta bsica para administrar Samba y servidores SMB re-

motos; funciona de forma similar al comando

net

de DOS

smpsswd

permite cambiar la contrasea usada en las sesiones SMB;

si se ejecuta como root tambin permite aadir y borrar usuarios del chero de contraseas de Samba

smsttus smlient

muestra las conexiones Samba activas permite a un usuario de un sistema Unix conectarse a re-

cursos SMB y listar, transferir y enviar cheros

8.5. Prcticas
Instalar Samba en Linux y acceder a los directorios de usuario desde Windows 2000 1. En el sistema Linux:

a) b)

Instalar los paquetes de Samba Examinar el chero de conguracin por defecto, y modicarlo: jar el nivel de seguridad a

user smpsswd para aadir el usua-

permitir leer y escribir en los los HOME de los usuarios

c)

Para algn usuario existente, usar

rio al chero de contraseas de Samba y ponerle una contrasea 2. En el sistema Windows 2000

a)

Poner el grupo de trabajo al mismo que el indicado en Samba

43

b) c)

Crear usuarios con el mismo nombre y contrasea que el usado en Samba Acceder como ese usuario y ver que podemos ver y crear cheros en el HOME del sistema Linux

44