Configuración de dispositivos NFS Samba - um.es · Samba. 2 A TENER EN CUENTA ... En Debian Woody...

Post on 20-Sep-2018

235 views 3 download

Transcript of Configuración de dispositivos NFS Samba - um.es · Samba. 2 A TENER EN CUENTA ... En Debian Woody...

1

SEGUNDA SESIÓN

Configuración de dispositivos

NFS

Samba

2

A TENER EN CUENTA

❖ Los ficheros asociados a dispositivos están en el directorio /dev.

❖ Tipos de dispositivos.

ls -l /dev/ | cut -c1 | sort | uniq

b dispositivo de bloques p tubería

brw-rw---- /dev/hda prw------- /dev/initctl

c dispositivo de caracteres s socket

crw-rw---- /dev/tty1 srw-rw-rw- /dev/log

3

VER LOS DISPOSITIVOS

❖ Para ver los dispositivos de bloques y caracteres:

cat /proc/devices❖ dmesg nos muestra los mensajes de inicio del

sistema donde aparecen los dispositivos reconocidos.

❖ lspci muestra los dispositivos PCI. Más detalles:

cat /proc/pci❖ lsusb muestra los dispositivos USB.

4

FICHEROS DE DISPOSITIVOS (I)

❖ /dev/cdrom : unidad de CD-ROM.

❖ /dev/console : consola actual (texto o gráfica).

❖ /dev/cua* : dispositivos serie.

❖ /dev/dsp* : dispositivos de audio.

❖ /dev/fd* : para los disquetes.

❖ /dev/hd[a-t][1-20] : particiones discos IDE.

❖ /dev/ir* : dispositivos infrarrojos.

5

FICHEROS DE DISPOSITIVOS (II)

❖ /dev/isdn* : dispositivos RDSI.

❖ /dev/lp* : impresoras.

❖ /dev/md[0-31] : dispositivos RAID.

❖ /dev/mem : representa la memoria física.

❖ /dev/kmem: memoria virtual del kernel.

❖ /dev/midi* : dispositivos MIDI.

❖ /dev/mixer* : mezcladores de sonido.

❖ /dev/modem : módem.

6

FICHEROS DE DISPOSITIVOS (III)

❖ /dev/mouse : ratón.

❖ /dev/null : dispositivo nulo.

❖ /dev/pts/* : terminales gráficos.

❖ /dev/sd[a-t][1-15] : particiones discos SCSI.

❖ /dev/st[0-31][alm] : unidades de cinta.

❖ /dev/tty* : terminales virtuales de red o X.

❖ /dev/usb/* : dispositivos usb.

❖ /dev/vg* : volúmenes lógicos (LVM).

7

AÑADIR FICHEROS DE DISPOSITIVOS

❖ mknod crea un fichero especial de bloques, de caracteres o una tubería ( FIFO).

mknod fichero [bc] num_dis_mayor num_dis_menor

mknod /dev/fd8 b 2 132

❖ En /dev existe el fichero MAKEDEV para crear dispositivos.

cd /dev ; ./MAKEDEV sdb -m 5❖ El fichero devices.txt (incluido en el código

fuente del kernel) muestra la lista de dispositivos.

8

PARTICIONES DE DISCOS

❖ Los discos IDE y SCSI son dispositivos de bloques. También lo es RAID (/dev/md[0-9]*).

❖ Con fdisk se particiona un disco duro.

❖ Son posibles 4 particiones primarias, por ejemplo:

/dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4

❖ Si se desean más particiones (a partir de 5) se debe crear una partición extendida.

❖ LILO utiliza la numeración de particiones de fdisk. GRUB utiliza un número menos.

9

LILO vs GRUB

image=/boot/vmlinuz title linux

label=linux root (hd0,2)

initrd=/boot/initrd-2.4.18.img kernel /boot/vmlinuz-2.4.18 ro root=/dev/hda3

read-only initrd /boot/initrd-2.4.18.img

root=/dev/hda3

other=/dev/hda1 title xp

optional rootnoverify (hd0,0)

label=xp chainloader +1

LILO GRUB

10

¿CUANTAS PARTICIONES?

❖ Como mínimo una para swap y otra para el sistema de ficheros /.

❖ Se pueden crear otras particiones para:

❖ /tmp ficheros temporales.

❖ /var para logs y ficheros de spool.

❖ /boot para los ficheros del kernel.

❖ /usr para aplicaciones y X Window.

❖ /home para los usuarios.

11

ESTRUCTURA FISICA EXT2

❖ Ext2 es parecido al sistema de ficheros BSD.

❖ Una entrada de directorio tiene esta pinta:

inodo | longitud entrada | long. nombre | nombre fichero

12

INODO

❖ Cada fichero se representa con un inodo.Ext3 con un tamañode bloque 4KBpermite ficheros de2 TB en un sistemade ficheros de hasta 16 TB

13

HDPARM (I)

❖ Se utiliza para mejorar el acceso a discos IDE:

hdparm -i /dev/hda ; hdparm -tT /dev/hda

hdparm -d 1 -c 1 -m 16 -X 69 /dev/hda❖ En Red Hat se usa /etc/sysconfig/harddiskhda.

USE_DMA=1

EIDE_32BIT=1

MULTIPLE_IO=16

EXTRA_PARMS=-X69

14

HDPARM (II)

❖ En Debian Woody debemos configurar el fichero /etc/hdparm.conf

/dev/hda {

dma = on

io32_support = 1

multi_sect_io=16

transfer_mode=69

}

❖ update-rc.d -n hdparm defaults

15

TUNNING DEL S. F.

❖ El rendimiento de Oracle 9i depende de un buen tunning. Así en Red Hat Advanced Server 2.1 el fichero /etc/sysctl.conf puede contener:

kernel.shmmax=2147483648 (maximum size in bytes for a shared memory segment)

kernel.shm-use-bigpages=1 (large memory pages)

kernel.sem="250 32000 100 128" (semaphore kernel parameters)

fs.file-max=65536 (maximun number of file handles)

fs.aio-max-size=2147483648 (asynchronous I/O bytes)

16

INFORMACION DEL S.F.

❖ Para conocer los detalles se utiliza dumpe2fs:

/sbin/dumpe2fs /dev/hda4

Filesystem state: clean

Block size: 4096

Mount count: 23

Maximum mount count: 32

Group 0: (Blocks 0-32767)

Group 1: (Blocks 32768-65535)

Backup Superblock at 32768

17

S. F. ANOMALO (I)

❖ Cuando un sistema de ficheros no está consistente es necesario hacer un chequeo. Por ejemplo:

/sbin/e2fsck /dev/hda4

los ficheros huérfanos se guardan en lost+found.❖ El S. F. tiene copias del superbloque. Podemos

utilizarla para reparar un S. F. inconsistente. dumpe2fs nos dijo el tamaño de bloque: 4K. man e2fsck dice: bloques de 4K , copia en 32768.

/sbin/e2fsck -b 32768 /dev/hda4

18

S. F. ANOMALO (II)

❖ Si e2fsck no permite recuperar un sistema de ficheros debemos volver a crearlo. Por ejemplo:

/sbin/mkfs.ext3 -c -j /dev/hda4

/sbin/e2fsck -f /dev/hda4

/bin/mount /dev/hda4 /home❖ Normalmente el 5% del espacio se reserva para la

cuenta root. Si se desea otro valor se especifica al crear el sistema de ficheros o se cambia posteriormente con tune2fs.

19

CHEQUEO PERIODICO DEL S.F.

❖ Dumpe2fs nos decía:

Mount count: 23

Maximum mount count: 32

❖ Al noveno arranque el sistema de ficheros es chequeado. Si se desea cambiar este valor se utiliza tune2fs:

/sbin/tune2fs -c 50 -i 0 /dev/hda4

/sbin/tune2fs -L /home /dev/hda4

20

AÑADIR UN DISCO

❖ Lo primero es ver si existe el fichero de dispositivo en /dev. Si no es así se debe utilizar mknod o /dev/MAKEDEV. Por ejemplo

cd /tmp ; ./MAKEDEV sdb

crea los ficheros /dev/sdb0 hasta /dev/sdb16.❖ Arrancar y comprobar con dmesg la presencia del

disco.

❖ Con fdisk se crean las particiones.

❖ Se crea S. F. y se prueba (visto antes).

21

CLONAR UN DISCO

❖ Supongamos que tenemos dos disco iguales. El primero es /dev/hda con Linux instalado y el segundo es /dev/hdc vacío. Podemos copiar el contenido de un disco a otro con dd:

dd if=/dev/hda of=/dev/hdc bs=4096k

esto obliga a tener pinchados los dos discos en el mismo equipo.

❖ Podemos clonar varios discos en red con la utilidad udpcast.

22

MIGRAR UN DIRECTORIO

❖ Supongamos que el directorio /home tiene un tamaño considerable. Podemos poner otro disco y pasar los contenidos:

mount /dev/hdc1 /mnt ; cd /home

tar -cf - * | (cd /mnt ; tar -xvpf -) ; umount /mnt❖ Nos falta poner la entrada en el fichero /etc/fstab:

#Dispositivo Directorio Tipo Opciones dump fsck

/dev/hdc1 /home ext3 defaults 1 1

23

EVITAR DISCOS LLENOS (I)

❖ Es aconsejable vigilar los sistemas de ficheros y borrar ficheros innecesarios. Para esta tarea find es muy útil:

find / \( -name a.out -o -name core -o -name '*~' \ -o -name '.*~' \) -type f \ -atime +120 \ -exec rm -f {} \;

borra ficheros de compilaciones, cores, copias de ficheros editados y ficheros no accedidos desde hace tres 3 meses.

24

EVITAR DISCOS LLENOS (II)

❖ Si se desea que el sistema ejecute de forma automática, en el directorio /etc/cron.monthly se crea un fichero limpia_disco con este contenido

#!/bin/sh

find / \( -name a.out -o -name core -o -name '*~' -o -name '.*~' \) \ -type f \ -atime +120 -exec rm -f {} \;

❖ Se dan permisos de ejecución a limpia_disco.

❖ ¿En qué instante se ejecuta el script? Para saberlo vemos el fichero /etc/crontab. man 5 crontab

42 4 1 * * root run-parts /etc/cron.monthly

25

EVITAR DISCOS LLENOS (III)

❖ Si la ejecución de find puede interferir con el rendimiento del sistema se puede ejecutar bajando la prioridad con nice.

#!/bin/sh

/bin/nice -15 /usr/bin/find / \( -name a.out -o -name core \ -o -name '*~' -o -name '.*~' \) -type f -atime +120 \ -exec rm -f {} \;

❖ Se comprueba la prioridad

ps -C find -o “%p %n %c”

26

DISQUETES (I)

❖ Utilizar un disquete con formato DOS:

fdformat /dev/fd0

mkfs -t vfat /dev/fd0

mount -t vfat /dev/fd0 /mnt

cp /bin/s* /mnt

umount /mnt❖ Como se aprecia, se necesita algunos privilegios.

La alternativa para usuarios es mtools.

27

DISQUETES (II)

❖ Utilizar un disquete con formato ext3:

fdformat /dev/fd0

mkfs -t ext3 /dev/fd0

e2fsck -y /dev/fd0

mount /dev/fd0 /mnt

cp /bin/s* /mnt

umount /mnt

28

COPIANDO DISQUETES

❖ Para copiar un disquete recurrimos a la orden dd:

dd if=/dev/fd0 of=disquete bs=1024k

dd if=disquete of=/dev/fd0❖ También hay herramientas

gráficas como kfloppy.

29

DISPOSITIVOS CD­ROM

❖ Para montar/desmontar un CD-ROM hacemos:

mount -r -t iso9660 /dev/cdrom /mnt

umount /mnt❖ Si se tiene la entrada en /etc/fstab

#Dispositivo Directorio Tipo Opciones dump fsck

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,user,ro 0 0

basta teclear

mount /dev/cdrom /cdrom en Debian

30

GRABADORA IDE/ATAPI (I)

❖ Para grabar un CD necesitamos una imagen ISO para “quemarla” con la utilidad cdrecord.

❖ Las grabadoras IDE/ATAPI son las más comunes. Para detectar la grabadora se teclea:

cdrecord --scanbus❖ Si es detectada podemos grabar la imagen ISO

cosas.iso de ese modo:

cdrecord dev=/dev/hdb -v cosas.iso

31

GRABADORA IDE/ATAPI (II)

❖ Si cdrecord no detectó la grabadora IDE debemos utilizar la emulación SCSI.

❖ Si se utiliza LILO en el fichero /etc/lilo.conf se añade el módulo ide-scsi.

image=/boot/vmlinuz lilo -v ; rebootlabel=linux

initrd=/boot/initrd-2.4.18-10.img

read-only

root=/dev/hda3

append=”hdb=ide-scsi”

32

GRABADORA IDE/ATAPI (III)

❖ Si se utiliza GRUB en el fichero /etc/grub.conf se añade el módulo ide-scsi para emular el dispositivo IDE como un dispositivo SCSI.

title Linux (2.4.18-10)

root (hd0,2)

kernel /boot/vmlinuz-2.4.18-10 ro root=/dev/hda3 hdb=ide-scsi

initrd=/boot/initrd-2.4.18-10.img

❖ Tras modificar el fichero se reinicia tecleando

sync ; sync ; init 6

33

GRABADORA IDE/ATAPI (IV)

❖ Tras reiniciar volvemos a comprobar si cdrecord detecta la grabadora IDE como un dispositivo SCSI.

cdrecord --scanbusscsibus0:

0,0,0 0) 'HL-DT-ST' 'DVDRAM GSA-4081B' 'A100' Removable CD-ROM

0,1,0 1) *

0,2,0 2) *

0,3,0 3) *

0,4,0 4) *

34

GRABADORA IDE/ATAPI (V)

❖ Para grabar la imagen ISO cosas.iso hacemos:

cdrecord --dev=0,0,0 -v cosas.iso❖ Si tenemos un CD-RW para borrar el contenido

cdrecord --dev=0,0,0 --blank=fast❖ Si tenemos un CD-RW y deseamos reescribirlo

cdrecord --dev=0,0,0 -blank=fast -v -pad \ -data cosas.iso

35

CREAR IMAGEN ISO

❖ Si deseamos crear una imagen ISO se utiliza mkisofs. Por ejemplo, para hacer una copia de seguridad de un directorio:

cd /home

mkisofs -JlDRV TUX tux > tux.iso❖ Para copiar un CD-ROM hacemos:

dd if=/dev/hdb of=cd.iso bs=4096k no se emula

cdrecord dev=/dev/hdb -v cd.iso SCSI

36

                     K3B

37

FICHEROS DISPOSITIVOS SERIE

❖ Los puertos serie se denominan /dev/ttyS0 (para la primera UART), /dev/ttyS1 (para la segunda UART) y así sucesivamente.

❖ Por razones históricas los puertos serie principales vistos antes (/dev/ttyS0 y /dev/ttyS1) se conocen como /dev/cua0 y /dev/cua1. Estos ficheros son utilizados por algunos programas que gestionan modems.

❖ En Debian no existen los ficheros especiales de dispositivos serie /dev/cua0 y /dev/cua1.

38

SETSERIAL

❖ Los puertos serie se se pueden configurar para utilizar direcciones de E/S e IRQs diferentes. Para este fin se utiliza setserial.

setserial -g /dev/ttyS0

setserial -g /dev/ttyS1

setserial /dev/ttyS1 port 0x02f8 irq 3

❖ Red Hat dispone de /etc/rc.serial mientras Debian tiene /etc/serial.conf para configurar los puertos serie en el arranque.

39

MODEM EN RED HAT 9

❖ En Red Hat se utiliza redhat-config-network

http://www.europe.redhat.com/documentation/rhl9/rhl-cg-es-9/s1-network-config-modem.php3

40

MODEM EN DEBIAN

❖ Debemos teclear

dpkg-reconfigure pppconf❖ El paquete gnome-ppp

permite configurar desde el entorno gráfico.

❖ Si tiene un winmodem: http://linmodems.org

41

USB

❖ Para utilizar periféricos USB necesitamos cargar unos módulos. Si la placa base es Intel o basada en Via el módulo es UHCI (Universal Host Controller Interface).

❖ En Debian, con la utilidad modconf se cargan los módulos necesarios y en el caso de Red Hat se tiene el fichero /etc/modules.conf, por ejemplo:

alias usb-controller usb-uhci

(se cargarán los módulos usb-uhci y usbcore)

42

PENDRIVE (I)

❖ Un pendrive es considerado en Linux como un dispositivo SCSI (/dev/sd*).

❖ En Red Hat, al pinchar el pendrive se cargan automáticamente (con la utilidad hotplug) los módulos usb-storage y scsi_mod.

❖ En Debian Woody se cargan con la utilidad modconf los módulos usb-uhci y usb-storage. Además se deben tener los paquetes usbutils y hotplug.

43

PENDRIVE (II)

❖ En Red Hat, tras pinchar el pendrive podemos ver en el fichero /var/log/messages algo como:

scsi0 : SCSI emulation for USB Mass Storage devices

Vendor: USB Model: Flash Disk Rev: 2.00

Type: Direct-Access ANSI SCSI revision: 02

USB Mass Storage support registered.

Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0

SCSI device sda: 1024000 512-byte hdwr sectors (524 MB)

sda: Write Protect is off

sda: sda1

44

PENDRIVE (III)

❖ Una vez reconocido como /dev/sda1 se monta

mount -t vfat /dev/sda1 /mnt

❖ Si se desea que cualquier usuario pueda utilizar el pendrive en el fichero /etc/fstab ponemos:

#Dispositivo Directorio Tipo Opciones dump fsck

/dev/sda1 /mnt/pendrive vfat defaults,user,noauto 0 0

❖ En Red Hat los permisos del usuario que accede por la consola sobre los dispositivos se establecen en el fichero /etc/security/console.perms.

45

OTROS PERIFERICOS USB

❖ Una impresora USB aparte de los módulos usb necesita el módulo printer. Si se utiliza CUPS es sencillo. Los detalles en:

http://www.linuxprinting.org

❖ Para acceder a las fotos de una cámara digital con conector USB podemos utilizar gPhoto (en modo texto) o gtkam (en modo gráfico).

46

GUIA PARA EL ADMINISTRADOR

❖ Jialong He ha creado LINUX Administrator's Quick Reference Card disponible en:

http://tiger.la.asu.edu/Quick_Ref/linux_quickref.pdf

❖ Otra guía del mismo autor es Linux Security Quick Reference Guide disponible en:

http://tiger.la.asu.edu/Quick_Ref/linux_security_quickref.pdf

47

COMPARTIR RECURSOS

❖ Supongamos un grupo de trabajo con diversos equipos. Si se desea instalar una utilidad debemos hacerlo en cada ordenador. Si se instala en una unidad de red y todos acceden nos ahorramos trabajo y la gestión es más eficaz.

❖ Network File System (NFS) y Samba permiten compartir ficheros en red.

❖ También es posible compartir una impresora en red con LPD, CUPS o Samba.

48

NFS

❖ El Network File System (NFS) fué desarrollado por SUN Microsystems.

❖ NFS se basa en una arquitectura cliente/servidor. El servidor comparte disco y los clientes montan la partición remota como si fuese local.

❖ Linux soporta sistemas de ficheros NFS. Por contra, Windows no implementa NFS, lo cual obliga a productos comerciales o utilizar Samba (soportado por Linux).

49

VERSIONES DE NFS

❖ Hay varias versiones de NFS:

❖ En la versión 2 las operaciones de escritura son síncronas, con un retardo en las escrituras.

❖ En la versión 3 las operaciones de escritura son asíncronas y se han mejorado otros aspectos que hacen esta versión más rápida que la anterior.

❖ La versión 4 dispone de mecanismos de seguridad (Kerberos 5, LIPKEY, SPKM-3), soporta ACLs, clientes Windows, Unicode (UTF-8), etc. Necesita kernel 2.6.

50

PORTMAPPER

❖ NFS utiliza el protocolo Remote Procedure Call (RPC) de SUN.

❖ RPC utiliza los protocolos User Data Protocol (UDP) y Transmission Control Protocol (TCP).

❖ NFS inicialmente utilizaba UDP. Por razones de seguridad, es aconsejable NFS sobre TCP.

❖ El demonio encargado de las conexiones RPC es portmap.

❖ Antes de configurar NFS debemos ver portmap.

51

PORTMAPPER (I)

❖ Para saber si está activo el demonio portmap:

netstat -tupa | grep portmap❖ Si no está se inicia:

/etc/init.d/portmap start

rpcinfo -p localhost

programa vers proto puerto

100000 2 tcp 111 portmapper

100000 2 udp 111 portmapper

52

PORTMAPPER (II)

❖ Para disponer del demonio portmap siempre en la secuencia de arranque debemos hacer:

chkconfig --level 345 portmap on Red Hat

update-rc.d portmap start 20 S . Debian

❖ Portmap es parecido al superservidor inetd. En el fichero /etc/rpc se tienen los programas clientes del servicio RPC.

53

/etc/rpc

portmapper 100000 portmap sunrpc rpcbind

nfs 100003 nfsprog

ypserv 100004 ypprog

mountd 100005 mount showmount

ypbind 100007

rquotad 100011 rquotaprog quota rquota

nlockmgr 100021

status 100024

54

NFS EN EL SERVIDOR (I)

❖ En el servidor se deben lanzar los demonios:

rpc.nfsd : gestiona el sistema de ficheros exportado y las peticiones de acceso. Se ejecutan varias instancias.

rpc.mountd : encargado de las peticiones de montaje de los clientes.

rpc.lockd : gestiona los bloqueos de ficheros tanto en el servidor como en el cliente.

55

NFS EN EL SERVIDOR (I)

rpc.statd : responsable de los bloqueos, caidas y recuperaciones tanto en el servidor como en el cliente.

rpc.rquotad : gestiona las cuotas de disco en el servidor NFS.

❖ Los scripts de inicio son /etc/init.d/nfs*

❖ En Red Hat: En Debian:

/etc/init.d/nfslock /etc/init.d/nfs-kernel-server

/etc/init.d/nfs /etc/init.d/nfs-common

56

NFS EN DEBIAN

❖ Si en el servidor NFS tenemos la distribución Debian necesitamos tres paquetes. Para instalarlos debemos teclear:

apt-get install nfs-kernel-server nfs-common portmap

❖ Si el cliente NFS dispone de la distribución Debian necesitamos solo dos paquetes. Para instalarlos debemos teclear:

apt-get install nfs-common portmap

57

rpcinfo ­p localhost

programa vers proto puerto

100011 1,2 tcp 649 rquotad

100011 1,2 tcp 652 rquotad

100003 2,3 tcp/udp 2049 nfs

100021 1,3,4 udp 32768 nlockmgr

100021 1,3,4 tcp 32771 nlockmgr

100005 1,2,3 udp 668 mountd

100005 1,2,3 tcp 671 mountd

100024 1 udp 32770 status

100024 1 tcp 32772 status

58

EXPORTANDO (I)

❖ El fichero /etc/exports contiene los directorios o sistemas de ficheros exportados a los clientes. El formato es

ruta host(opcion, opcion, ...) man exports

por ejemplo:

/usr/local *.um.es(ro)

exporta el directorio /usr/local en modo sólo lectura a cualquier equipo de la U.M.

59

EXPORTANDO (II)

/home pepe(rw,no_root_squash) pepa(rw)

exporta el directorio /home en modo lectura y escritura al host pepe. Además permite al root local acceso como root al directorio remoto.

Sin embargo al host pepa se exporta en modo root_squash (por defecto) mapeando el uid 0 a anonymous o nobody uid y el gid 0 a anonymous o nobody gid. En consecuencia el root local no tiene permiso de root en el directorio remoto.

60

EXPORTANDO (III)

❖ exportfs -rv reexporta tras un cambio.

❖ Otras opciones a considerar en la exportación:

secure : el acceso remoto se origina desde un puerto privilegiado (<1024). Esta opción es por defecto.

insecure : el acceso remoto se origina desde cualquier puerto.

async : las escrituras en el servidor son asíncronas.

sync : las escrituras en el servidor son síncronas (por defecto).

61

MEJORAR RENDIMIENTO NFS

❖ Utilizar la utilidad nfsstat para ver estadísticas.

❖ Es aconsejable utilizar un número adecuado de procesos NFS. La regla es 2 por cada acceso cliente simultáneo.

❖ Se puede incrementar el tamaño de la cola de recepción de rpc.nfsd. Por ejemplo, para establecer un tamaño de cola de 256K:

echo 262144 > /proc/sys/net/core/rmem_default

echo 262144 > /proc/sys/net/core/rmem_max

62

ASEGURANDO NFS

❖ Portmap se controla con TCP wrappers. Esta utilidad emplea los ficheros /etc/hosts.allow y /etc/hosts.deny.

❖ En el fichero /etc/hosts.deny se pone

portmap : ALL

❖ Para permitir el acceso al demonio portmap desde la subred um.es en el fichero /etc/hosts.allow se pone

portmap : 155.54.0.0/255.255.0.0

63

NFS EN EL CLIENTE (I)

❖ Un sistema de ficheros NFS se monta como un sistema de ficheros local.

❖ Antes de montar se pueden ver los recursos exportados en el servidor:

showmount -e icaro❖ Si deseo montar el directorio /usr/local del

servidor icaro se teclea

mount -t nfs icaro:/usr/local /mnt

64

NFS EN EL CLIENTE (II)

❖ Se pueden dar opciones:

mount -t nfs -o rw,hard,intr,bg icaro:/usr/local /mnt

❖ hard : persiste en el intento de montar el recurso bloqueando al cliente.

❖ int : permite al usuario interrumpir operaciones bloqueadas.

❖ bg : si el montaje falla continúa en background intentando el montaje.

65

NFS EN EL CLIENTE (III)

❖ Las opciones anteriores se pueden poner en el fichero /etc/fstab

#Dispositivo Directorio Tipo Opciones dump fsck

icaro:/usr/local /usr/local nfs rw,hard,intr,bg 0 0

❖ Hay otras opciones:

nointr : no permite las interrupciones por el usuario.

soft : si no es posible el montaje falla dando un error. Es el comportamiento contrario a hard.

nfsvers : si queremos 2 ó 3.

66

NFS EN EL CLIENTE (IV)

retrans=n : número de reintentos cuando se utiliza la opción soft.

rsize=n : establece el buffer de lectura en n bytes. El valor por defecto es 1K.

wsize=n : establece el buffer de escritura en n bytes. El valor por defecto es 1K.

❖ También están disponibles las opciones de cualquier otro sistema de ficheros local como sync, async, exec, noexec, etc. Para más detalles man mount

67

MEJORAR RENDIMIENTO NFS

❖ El tamaño de bloque NFS influye en el cliente NFS.

❖ Para establecerlo hacemos pruebas:

mount -t nfs -o rw,wsize=1024 icaro:/usr/local /mnt

time dd if=/dev/zero of=/mnt/test bs=4k count=64

escribe un fichero de 256 MB lleno de ceros.

Después probamos con bloques de de 2048, 4096 y 8192 bytes (con NFS v3 se pueden intentar tamaños de 16384 y 32768 bytes).

68

AUTOMOUNTER

❖ Si un cliente NFS tiene esto en /etc/fstab:

#Dispositivo Directorio Tipo Opciones dump fsck

icaro:/usr/local /usr/local nfs ro,soft,intr,bg 0 0

icaro:/home /home nfs rw,soft,intr,bg 0 0

al arrancar se montan los dos directorios.

❖ Con automounter se montan los sistemas de ficheros cuando son accedidos por un usuario y los desmonta automáticamente cuando no se utilizan.

69

MAPAS DE AUTOMOUNTER (I)

❖ Automounter sigue las indicaciones presentes en el fichero /etc/auto.master. Por ejemplo:

/home /etc/auto.home --timeout=120

dos minutos después de la salida de la sesión por el usuario desmonta el directorio de trabajo.

❖ El fichero /etc/auto.home puede contener:

* -fstype=nfs,rw,hard,intr,nosuid icaro:/home/&

si accede la cuenta luis unicamente se monta el directorio /home/luis.

70

MAPAS DE AUTOMOUNTER (II)

❖ Nos falta el directorio /usr/local. Para ello se añade al fichero /etc/auto.master lo siguiente:

/usr /etc/auto.usrlocal --timeout=600

a los diez minutos de no acceso al directorio se desmonta automáticamente del servidor.

❖ El fichero /etc/auto.usrlocal puede contener:

local -fstype=nfs,ro,soft,intr icaro:/usr/local

como no es crítico se ha decidido hacer un montaje blando y en modo sólo lectura.

71

GESTION DE USUARIOS

❖ Hasta este momento hemos supuesto que las cuentas coincidían en nombre y uid tanto en el servidor como el cliente NFS.

❖ Si tenemos muchos usuarios debemos emplear un sistema de autenticación en red como NIS o LDAP.

❖ Network Information Service (NIS) es también conocido como yellow pages (yp) por eso muchos comandos comienzan por yp.

72

NIS EN EL SERVIDOR RED HAT (I)

❖ En el fichero /etc/sysconfig/network se añade:

NISDOMAIN=um.es

❖ En el fichero /etc/yp.conf se pone:

ypserv 127.0.0.1

❖ Se lanzan los demonios necesarios:

/etc/init.d/portmap start

/etc/init.d/yppasswdd start

/etc/init.d/ypserv start

73

NIS EN EL SERVIDOR RED HAT (II)

❖ Si se desean permanentes debe hacerse:

chkconfig portmap on

chkconfig yppasswdd on

chkconfig ypserv on

❖ Se crean los mapas NIS:

/usr/lib/yp/ypinit -m

❖ Se lanzan los demonios restantes:

/etc/init.d/ypbind start ; /etc/init.d/ypxfrd start

74

NIS EN EL SERVIDOR RED HAT (II)

❖ Si se desean permanentes debe hacerse:

chkconfig ypbind on

chkconfig ypxfrd on

❖ Se comprueba:

adduser -g users prueba

cd /var/yp

make

ypcat passwd

75

NIS EN EL CLIENTE RED HAT (I)

❖ En el fichero /etc/sysconfig/network se añade:

NISDOMAIN=um.es

❖ En el fichero /etc/yp.conf se pone:

domain um.es server 155.54.1.30

❖ En el fichero /etc/nsswitch.conf ponemos:

passwd: files nis

shadow: files nis

group: files nis

76

NIS EN EL CLIENTE RED HAT (II)

❖ En el fichero /etc/host.conf se añade nis:

order host,bind,nis

❖ En el fichero /etc/passwd se añade:

+::::::

❖ En el fichero /etc/shadow se añade:

+::::::::

❖ En el fichero /etc/group se añade:

+:::

77

NIS EN EL CLIENTE RED HAT (III)

❖ Se lanzan los demonios necesarios:

/etc/init.d/portmap start

/etc/init.d/yppasswdd start

❖ Si se desean permanentes debe hacerse:

chkconfig portmap on

chkconfig yppasswdd on

❖ Ahora el usuario prueba debe acceder y montar su home. Para cambiar la clave se usa yppasswd.

78

NIS VS LDAP

❖ NIS no encripta las claves y utiliza portmap, que usa un rango de puertos TCP difícil de gestionar para un firewall.

❖ Lightweight Directory Access Protocol (LDAP) dispone de características como:

Single Sign On.

El puerto 636 permite comunicación encriptada.

Extensible (añadiendo el esquema adecuado).

Permite alamacenamiento distribuido y replicación.

79

ENTRADA EN LDAP (I)

❖ Cuando damos de alta al usuario tux en el fichero /etc/passwd aparece esta entrada:

tux:x:500:500:Tux:/home/tux:/bin/bash

y en el fichero /etc/shadow esta otra:tux:$1$UGlpGauB$STG9Pjbnk2VDhOeE/GCZo0:12523:0:99999:7:::

❖ Si se utiliza LDAP la entrada en formato LDIF esdn: uid=tux,ou=People,dc=um,dc=es

objectClass: top

objectClass: account

objectClass: shadowAccount

80

ENTRADA EN LDAP (II)

uid: tux

cn: tux

userPassword: {crypt}$1$UGlpGauB$STG9Pjbnk2VDhOeE/GCZo0

shadowLastChange: 12523

shadowMax: 99999

shadowWarning: 7

loginShell: /bin/bash

uidNumber: 500

gidNumber: 500

homeDirectory: /home/tux

gecos: Tux

81

LDAP EN EL CLIENTE

❖ Se debe especificar el servidor LDAP en el fichero /etc/openldap/ldap.conf.

❖ En el fichero /etc/nsswitch.conf se debe poner

passwd: files ldap

shadow: files ldap

group: files ldap

❖ Después debe configurarse pam y name server caching daemon (nscd).

http://www.metaconsultancy.com/whitepapers/ldap-linux.htm (Debian)

82

NetBIOS

❖ A mediados de los 80 IBM y Sytec desarrollaron Network Basic Input Output System (NetBIOS). No estaba basado en TCP/IP y para redes locales.

❖ Microsoft crea el protocolo Server Message Block (SMB) sobre NetBIOS que permitía compartir unidades de red en la LAN.

❖ Con Windows, Microsoft añade “browsing” y autenticación centralizada con Controladores del Dominio.

83

SMB

❖ Posteriormente NetBIOS corre sobre TCP/IP permitiendo el acceso entre LANs.

SMBNetBIOS TCP/IP

❖ En 1997 actualiza SMB cambiando el nombre por Common Interface File System (CIFS). CIFS permite: resolución de nombres, aviso de servicios (browsing), compartición de ficheros e impresoras y autenticación.

84

CIFS

❖ Con Windows 2000 Microsoft separa NetBIOS de CIFS, aunque CIFS soporta NetBIOS por compatibilidad con aplicaciones antiguas.

SMB TCP/IP

❖ Los dispositivos que soportan CIFS dan servicio a clientes Windows, servidores Unix y NAS.

❖ En un futuro Microsoft piensa migrar a WinFS y abandonar CIFS.

85

SAMBA

❖ Samba es un conjunto de aplicaciones que hablan el protocolo SMB.

❖ Con Samba se pueden:

Compartir directorios.

Compartir impresoras.

Autenticar clientes windows.

Resolución de nombres WINS.

86

DEMONIOS SAMBA

❖ Samba tiene estos demonios:

smbd : encargado de los servicios TCP/IP de compartición de ficheros e impresoras.

nmbd : gestiona el registro de nombres y peticiones de resolución (WINS). Encargado de todos los protocolos sobre UDP.

winbindd : es demonio, presente en la versión 3, se utiliza cuando Samba es miembro de un dominio Windows NT o dominio ADS.

87

INSTALACION SAMBA

❖ En Red Hat son necesarios los paquetes:

samba-common

samba-client

samba

❖ En Debian se instala así:

apt-get install samba*

❖ El fichero de configuración se encuentra en /etc/samba/smb.conf

88

TIPOS DE SERVIDORES SAMBA

❖ Stand-alone : no es un controlador de dominio. Es como un servidor de grupo de trabajo.

❖ Domain Controller : puede actuar como un Primary Domain Controller (PDC), un Backup Domain Controller (BDC) o ADS Domain Controller.

❖ Domain Member Server : puede actuar como Active Directory Domain Server y NT4 Domain Server.

89

FORMATO FICHERO SMB.CONF

❖ Este fichero se compone de secciones.

[global] se aplican a todos los recursos compartidosworkgroup = ATICAnetbios name = SERVIDOR[tmp]comment = Datospath = /tmp clave = valor[printers]path = /var/spool/sambacomment = Impresoras

90

STAND­ALONE SERVER. ACCESO ANONIMO SOLO LECTURA (I)

❖ Acceso anónimo en modo solo lectura.

[global]workgroup = ATICAnetbios name = SERVIDORsecurity = share cada recurso tiene una clave[datos]comment = Datospath = /usr/localread only = yes en modo solo lecturaguest ok = yes no necesita autenticación

91

STAND­ALONE SERVER. ACCESO ANONIMO SOLO LECTURA (II)

❖ Se comprueba y se carga la nueva configuración:

testparm /etc/samba/smb.conf

/etc/init.d/smb restart❖ En Windows se accede tecleando:

net use h: \\servidor\datos❖ Desde Linux se utiliza mount

mount -t smbfs -o guest //servidor/datos /mnt❖ Ejemplo de uso: servidor de CDs.

92

SMBMOUNT Y FSTAB

❖ Si deseamos hacer el montaje como un usuario sin privilegios hacemos:

mkdir samba

smbmount //servidor/datos ./samba -o guest❖ Si deseamos tener el recurso disponible en el

fichero /etc/fstab añadimos:

#Dispositivo Directorio Tipo Opciones dump fsck

//servidor/datos /mnt/samba smbfs guest,noauto 0 0

93

STAND­ALONE SERVER. ACCESO ANONIMO CON ESCRITURA (I)

❖ Acceso anónimo en modo lectura y escritura.

❖ Necesitamos una cuenta en el sistema para el propietario de los ficheros.

useradd -g users pitufo

passwd pitufo❖ Samba utiliza su propio fichero de cuentas

ubicado en /etc/samba/smbpasswd. Por tanto debe añadirse la cuenta.

smbpasswd -a pitufo

94

STAND­ALONE SERVER. ACCESO ANONIMO CON ESCRITURA (II)

[global]workgroup = ATICAnetbios name = SERVIDORsmb passwd file = /etc/samba/smbpasswdsecurity = share[datos]comment = Datospath = /home/pitufoforce user = pitufoforce group = usersread only = noguest ok = yes

95

STAND­ALONE SERVER. ACCESO ANONIMO CON ESCRITURA (III)

❖ Se comprueba y se carga la nueva configuración:

testparm /etc/samba/smb.conf

/etc/init.d/smb restart❖ En Windows se accede tecleando:

net use h: \\servidor\datos❖ Desde Linux se utiliza mount

mount -t smbfs -o guest //servidor/datos /mnt❖ Ejemplo de uso: Compartir documentos.

96

RESTARINGIR ACCESO

❖ No es conveniente dejar acceso total a un servidor Samba. Por tanto se pueden restrigir los equipos indicándolo en la sección global se puede poner:

hosts allow = 155.54.0.0/255.255.240.0

hosts deny = 155.54.1.1

97

STAND­ALONE SERVER. ACCESO AUTENTICADO RW (I)

❖ Acceso autenticado en modo lectura y escritura.

❖ Deseamos que los ficheros de las cuentas del sistema puede accederse por Samba.

useradd -g users alumno

passwd alumno❖ Samba utiliza su propio fichero de cuentas

ubicado en /etc/samba/smbpasswd. Por tanto debe añadirse la cuenta.

smbpasswd -a alumno

98

STAND­ALONE SERVER. ACCESO AUTENTICADO RW (II)[global]workgroup = ATICAnetbios name = SERVIDORsmb passwd file = /etc/samba/smbpasswdsecurity = user[Homes]comment = Directorios de los usuariospath = /home/%Uvalid users = %Swritable = yesbrowsable = no

99

STAND­ALONE SERVER. ACCESO AUTENTICADO RW (III)

❖ Se comprueba y se carga la nueva configuración:

testparm /etc/samba/smb.conf

/etc/init.d/smb restart

smbclient -L localhost -U%

Sharename Type Comment

IPC$ IPC IPC Service (Samba 3.0.7)

ADMIN$ IPC IPC Service (Samba 3.0.7)

100

STAND­ALONE SERVER. ACCESO AUTENTICADO RW (IV)

❖ En Windows se accede tecleando:

net use h: \\servidor\alumno clave /user:alumno❖ Desde Linux se prueba con

smbclient //servidor/alumno -Ualumno%clave❖ Se puede montar:

mkdir alumno

smbmount //servidor/alumno ./alumno \ -o user=alumno,password=clave

101

SERVIDOR DE DOMINIO. PDC (I)

[global] workgroup = ATICA netbios name = SERVIDOR smb passwd file = /etc/samba/smbpasswd admin users = administrador local master = yes preferred master =yes domain master = yes domain logons = yes os level = 65 security = user encrypt passwords = yes logon script = %U.bat

102

SERVIDOR DE DOMINIO. PDC (II)

[netlogon] comment = Network Logon Service path = /home/netlogon guest ok = yes writable = no share modes = no[profiles] path = /home/profiles browseable = no guest ok = yes create mask = 0600 read only = no

103

SERVIDOR DE DOMINIO. PDC (III)

❖ Necesitamos la cuenta administrador

adduser administrador

smbpasswd -d administrador❖ Como las máquinas NT deben estar dadas de alta

en el dominio se hace:

adduser -n -g nobody -d /dev/null -s /bin/false pc$

smbpasswd -a -m pc

104

SERVIDOR DE DOMINIO. PDC (IV)

❖ Nos faltan los directorios netlogon y profile

mkdir /home/netlogon

mkdir /home/profiles

chmod 0755 /home/netlogon /home/profiles❖ Creamos un fichero de inicio para la cuenta

alumno en /home/netlogon/alumno.bat

unix2dos -o alumno.bat

chmod +r alumno.bat

105

SERVIDOR DE DOMINIO. PDC (V)

❖ Tan solo queda añadir el equipo Windows al dominio y probar el acceso como alumno.

❖ Todos los detalles enhttp://us1.samba.org/samba/ftp/docs/htmldocs/samba-pdc-howto.html

The samba 2.2 PDC Howto.