Configuración de dispositivos NFS Samba

Anuncio
SEGUNDA SESIÓN
Configuración de dispositivos
NFS
Samba
1
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
2
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.
3
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.
4
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.
5
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).
6
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.
7
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.
8
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
9
¿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.
10
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
11
INODO
❖
Cada fichero se representa con un inodo.
Ext3 con un tamaño
de bloque 4KB
permite ficheros de
2 TB en un sistema
de ficheros de hasta
16 TB
12
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
13
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
14
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)
15
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
16
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
17
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.
18
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
19
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).
20
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.
21
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
ext3
defaults
1
/home
1
22
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.
23
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
24
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”
25
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.
26
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
27
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.
28
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
29
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
30
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 ; reboot
label=linux
initrd=/boot/initrd-2.4.18-10.img
read-only
root=/dev/hda3
append=”hdb=ide-scsi”
31
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
32
GRABADORA IDE/ATAPI (IV)
❖
Tras reiniciar volvemos a comprobar si cdrecord
detecta la grabadora IDE como un dispositivo
SCSI.
cdrecord --scanbus
scsibus0:
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) *
33
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
34
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
35
K3B
36
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.
37
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.
38
MODEM EN RED HAT 9
❖
En Red Hat se utiliza redhat-config-network
http://www.europe.redhat.com/documentation/rhl9/rhl-cg-es9/s1-network-config-modem.php3
39
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
40
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)
41
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.
42
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
Type: Direct-Access
Rev: 2.00
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
43
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
/dev/sda1
❖
Tipo Opciones
dump fsck
/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.
44
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).
45
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
46
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.
47
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).
48
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.
49
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.
50
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
51
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.
52
/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
53
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.
54
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
55
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
56
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
57
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.
58
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.
59
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).
60
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
61
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
62
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
63
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.
64
NFS EN EL CLIENTE (III)
❖
Las opciones anteriores se pueden poner en el
fichero /etc/fstab
#Dispositivo
Directorio Tipo Opciones
icaro:/usr/local /usr/local nfs
❖
dump fsck
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.
65
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
66
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).
67
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
rw,soft,intr,bg
0
0
/home
nfs
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.
68
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.
69
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.
70
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.
71
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
72
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
73
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
74
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
75
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:
+:::
76
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.
77
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.
78
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 es
dn: uid=tux,ou=People,dc=um,dc=es
objectClass: top
objectClass: account
objectClass: shadowAccount
79
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
80
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)
81
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.
82
SMB
❖
❖
Posteriormente NetBIOS corre sobre TCP/IP
permitiendo el acceso entre LANs.
SMB
NetBIOS
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.
83
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.
84
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.
85
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.
86
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
87
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.
88
FORMATO FICHERO SMB.CONF
❖
Este fichero se compone de secciones.
[global] se aplican a todos los recursos compartidos
workgroup = ATICA
netbios name = SERVIDOR
[tmp]
comment = Datos
path = /tmp clave = valor
[printers]
path = /var/spool/samba
comment = Impresoras
89
STAND­ALONE SERVER. ACCESO ANONIMO SOLO LECTURA (I)
❖
Acceso anónimo en modo solo lectura.
[global]
workgroup = ATICA
netbios name = SERVIDOR
security = share cada recurso tiene una clave
[datos]
comment = Datos
path = /usr/local
read only = yes en modo solo lectura
guest ok = yes
no necesita autenticación
90
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.
91
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
92
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
93
STAND­ALONE SERVER. ACCESO ANONIMO CON ESCRITURA (II)
[global]
workgroup = ATICA
netbios name = SERVIDOR
smb passwd file = /etc/samba/smbpasswd
security = share
[datos]
comment = Datos
path = /home/pitufo
force user = pitufo
force group = users
read only = no
guest ok = yes
94
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.
95
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
96
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
97
STAND­ALONE SERVER. ACCESO AUTENTICADO RW (II)
[global]
workgroup = ATICA
netbios name = SERVIDOR
smb passwd file = /etc/samba/smbpasswd
security = user
[Homes]
comment = Directorios de los usuarios
path = /home/%U
valid users = %S
writable = yes
browsable = no
98
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)
99
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
100
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
101
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
102
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
103
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
104
SERVIDOR DE DOMINIO. PDC (V)
❖
Tan solo queda añadir el equipo Windows al
dominio y probar el acceso como alumno.
❖
Todos los detalles en
http://us1.samba.org/samba/ftp/docs/htmldocs/samba-pdc-howto.html
The samba 2.2 PDC Howto.
105
Descargar